2300
|
Adds a Start-Finish(SF) link (method 2)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
h1 := AddItem('Item 1');
AddBar(h1,'Task','1/3/2001','1/6/2001',Null,Null);
h2 := AddItem('Item 2');
AddBar(h2,'Task','1/3/2001','1/6/2001',Null,Null);
ItemBar[h2,'',EXG2ANTTLib_TLB.exBarPredecessor] := '1SF';
SchedulePDM(0,'');
end;
EndUpdate();
end
|
2299
|
Adds a Start-Finish(SF) link (method 1)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
h1 := AddItem('Item 1');
AddBar(h1,'Task','1/3/2001','1/6/2001',Null,Null);
h2 := AddItem('Item 2');
AddBar(h2,'Task','1/3/2001','1/6/2001',Null,Null);
AddLink('Link1',h1,'',h2,'');
Link['Link1',EXG2ANTTLib_TLB.exLinkType] := 'SF';
SchedulePDM(0,'');
end;
EndUpdate();
end
|
2298
|
Adds a Finish-Finish(FF) link (method 1)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
h1 := AddItem('Item 1');
AddBar(h1,'Task','1/3/2001','1/6/2001',Null,Null);
h2 := AddItem('Item 2');
AddBar(h2,'Task','1/3/2001','1/6/2001',Null,Null);
AddLink('Link1',h1,'',h2,'');
Link['Link1',EXG2ANTTLib_TLB.exLinkType] := 'FF';
SchedulePDM(0,'');
end;
EndUpdate();
end
|
2297
|
Adds a Start-Start(SS) link (method 1)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
h1 := AddItem('Item 1');
AddBar(h1,'Task','1/3/2001','1/6/2001',Null,Null);
h2 := AddItem('Item 2');
AddBar(h2,'Task','1/3/2001','1/6/2001',Null,Null);
AddLink('Link1',h1,'',h2,'');
Link['Link1',EXG2ANTTLib_TLB.exLinkType] := 'SS';
SchedulePDM(0,'');
end;
EndUpdate();
end
|
2296
|
Adds a Finish-Start(FS) link (method 1)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
h1 := AddItem('Item 1');
AddBar(h1,'Task','1/3/2001','1/6/2001',Null,Null);
h2 := AddItem('Item 2');
AddBar(h2,'Task','1/3/2001','1/6/2001',Null,Null);
AddLink('Link1',h1,'',h2,'');
Link['Link1',EXG2ANTTLib_TLB.exLinkType] := 'FS';
SchedulePDM(0,'');
end;
EndUpdate();
end
|
2295
|
What is the difference between lags with "W" or without

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
with Bars.Add('Task:Split') do
begin
Shortcut := 'Task';
Def[EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
end;
end;
with Items do
begin
AddBar(AddItem('Item 1'),'Task','1/3/2001','1/6/2001',Null,Null);
AddBar(AddItem('Item 2'),'Task','1/3/2001','1/6/2001',Null,Null);
AddBar(AddItem('Item 3'),'Task','1/3/2001','1/6/2001',Null,Null);
ItemBar[ItemByIndex[0],'',EXG2ANTTLib_TLB.exBarSuccessor] := '2SF:-1,3SF:-1W';
SchedulePDM(0,'');
end;
EndUpdate();
end
|
2294
|
What is the difference between lags with "W" or without

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
AddBar(AddItem('Item 1'),'Task','1/3/2001','1/6/2001',Null,Null);
AddBar(AddItem('Item 2'),'Task','1/3/2001','1/6/2001',Null,Null);
AddBar(AddItem('Item 3'),'Task','1/3/2001','1/6/2001',Null,Null);
ItemBar[ItemByIndex[0],'',EXG2ANTTLib_TLB.exBarSuccessor] := '2SF:-1,3SF:-1W';
SchedulePDM(0,'');
end;
EndUpdate();
end
|
2293
|
How can I remove all outgoing links

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
AddBar(AddItem('Item 1'),'Task','1/1/2001','1/4/2001',Null,Null);
AddBar(AddItem('Item 2'),'Task','1/5/2001','1/8/2001',Null,Null);
AddBar(AddItem('Item 3'),'Task','1/9/2001','1/12/2001',Null,Null);
AddLink('L1',ItemByIndex[0],'',ItemByIndex[1],'');
AddLink('L2',ItemByIndex[1],'',ItemByIndex[2],'');
ItemBar[ItemByIndex[1],'',EXG2ANTTLib_TLB.exBarSuccessor] := '';
end;
EndUpdate();
end
|
2292
|
How can I remove all incoming links

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
AddBar(AddItem('Item 1'),'Task','1/1/2001','1/4/2001',Null,Null);
AddBar(AddItem('Item 2'),'Task','1/5/2001','1/8/2001',Null,Null);
AddBar(AddItem('Item 3'),'Task','1/9/2001','1/12/2001',Null,Null);
AddLink('L1',ItemByIndex[0],'',ItemByIndex[1],'');
AddLink('L2',ItemByIndex[1],'',ItemByIndex[2],'');
ItemBar[ItemByIndex[1],'',EXG2ANTTLib_TLB.exBarPredecessor] := '';
end;
EndUpdate();
end
|
2291
|
How do I add a link between two bars (method 3)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
h := AddItem('Item 1');
AddBar(h,'Task','1/1/2001','1/4/2001',Null,Null);
AddBar(AddItem('Item 2'),'Task','1/5/2001','1/8/2001',Null,Null);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarSuccessor] := '2SF';
end;
EndUpdate();
end
|
2290
|
How do I add a link between two bars (method 2)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Name');
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
end;
with Items do
begin
h := AddItem('Item 1');
AddBar(h,'Task','1/1/2001','1/4/2001',Null,Null);
AddBar(AddItem('Item 2'),'Task','1/5/2001','1/8/2001',Null,Null);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarPredecessor] := '2SF';
end;
EndUpdate();
end
|
2289
|
Highlight the selected-link while editing the predecessor/successor column

// AddLink event - Occurs when the user links two bars using the mouse.
procedure TForm1.G2antt1AddLink(ASender: TObject; LinkKey : WideString);
begin
with G2antt1 do
begin
Items.Link[OleVariant(LinkKey),EXG2ANTTLib_TLB.exLinkShowRound] := OleVariant(3);
end
end;
with G2antt1 do
begin
BeginUpdate();
OnResizeControl := EXG2ANTTLib_TLB.exResizeChart;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
ColumnAutoResize := False;
HeaderHeight := 32;
DefaultItemHeight := 28;
BackColorLevelHeader := RGB(255,255,255);
Background[EXG2ANTTLib_TLB.exPSLinkColorEditSel] := $a0a0a0;
Background[EXG2ANTTLib_TLB.exPSBarColorEditSel] := $808080;
with Columns do
begin
(IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 48;
with (IUnknown(Add('Start')) as EXG2ANTTLib_TLB.Column) do
begin
Width := 48;
Editor.EditType := EXG2ANTTLib_TLB.DateType;
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
end;
with (IUnknown(Add('End')) as EXG2ANTTLib_TLB.Column) do
begin
Width := 48;
Editor.EditType := EXG2ANTTLib_TLB.DateType;
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(543);
end;
with (IUnknown(Add('Predecessor')) as EXG2ANTTLib_TLB.Column) do
begin
with Editor do
begin
EditType := EXG2ANTTLib_TLB.EditType;
EditType := EXG2ANTTLib_TLB.MaskType;
Mask := ';;;rich';
end;
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(270);
end;
with (IUnknown(Add('Successor')) as EXG2ANTTLib_TLB.Column) do
begin
with Editor do
begin
EditType := EXG2ANTTLib_TLB.EditType;
EditType := EXG2ANTTLib_TLB.MaskType;
Mask := ';;;rich';
end;
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(271);
end;
with (IUnknown(Add('(I)')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 index ``';
Position := 0;
AllowSizing := False;
Width := 20;
end;
end;
ColumnAutoResize := True;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineColor := RGB(224,224,224);
AntiAliasing := True;
with Chart do
begin
ShowLinks := EXG2ANTTLib_TLB.exShowExtendedLinks;
LinksStyle := EXG2ANTTLib_TLB.exLinkSolid;
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 362;
NonworkingDays := 0;
AllowLinkBars := True;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAutoEndInclusive;
AllowZoomOnFly := EXG2ANTTLib_TLB.ZoomOnFlyEnum($fffffcc4 Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyIncludeSelectedItems) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyBarsOnly) Or Integer(EXG2ANTTLib_TLB.exZoomOnFly) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyCtrl) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyShift));
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
with Bars.Item['Task'] do
begin
Height := 15;
Def[EXG2ANTTLib_TLB.exBarCaption] := '<%=%C5%>';
end;
end;
with Items do
begin
AllowCellValueToItemBar := True;
AddBar(AddItem('Phase A'),'Task','1/1/2001','1/6/2001',Null,Null);
AddBar(AddItem('Phase B'),'Task','1/2/2001','1/7/2001',Null,Null);
AddBar(AddItem('Phase C'),'Task','12/29/2000','1/4/2001',Null,Null);
AddLink('L1',ItemByIndex[0],'',ItemByIndex[1],'');
Link['L1',EXG2ANTTLib_TLB.exLinkPDMDelay] := OleVariant(1);
AddLink('L2',ItemByIndex[0],'',ItemByIndex[2],'');
AddLink('L3',ItemByIndex[2],'',ItemByIndex[1],'');
SchedulePDM(0,'');
end;
EndUpdate();
end
|
2288
|
Adding an editable successor column

with G2antt1 do
begin
BeginUpdate();
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with Columns do
begin
(IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 48;
with (IUnknown(Add('Successor')) as EXG2ANTTLib_TLB.Column) do
begin
with Editor do
begin
EditType := EXG2ANTTLib_TLB.EditType;
EditType := EXG2ANTTLib_TLB.MaskType;
Mask := ';;;rich';
end;
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(271);
end;
with (IUnknown(Add('(I)')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 index ``';
Position := 0;
AllowSizing := False;
Width := 20;
end;
end;
ColumnAutoResize := True;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineColor := RGB(224,224,224);
AntiAliasing := True;
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 256;
AllowLinkBars := True;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAutoEndInclusive;
end;
with Items do
begin
AllowCellValueToItemBar := True;
AddBar(AddItem('Phase A'),'Task','1/1/2001','1/6/2001',Null,Null);
AddBar(AddItem('Phase B'),'Task','1/2/2001','1/7/2001',Null,Null);
AddBar(AddItem('Phase C'),'Task','12/29/2000','1/4/2001',Null,Null);
AddLink('L1',ItemByIndex[0],'',ItemByIndex[1],'');
AddLink('L2',ItemByIndex[0],'',ItemByIndex[2],'');
AddLink('L3',ItemByIndex[2],'',ItemByIndex[1],'');
end;
EndUpdate();
end
|
2287
|
Adding an editable predecessor column

with G2antt1 do
begin
BeginUpdate();
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with Columns do
begin
(IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 48;
with (IUnknown(Add('Predecessor')) as EXG2ANTTLib_TLB.Column) do
begin
with Editor do
begin
EditType := EXG2ANTTLib_TLB.EditType;
EditType := EXG2ANTTLib_TLB.MaskType;
Mask := ';;;rich';
end;
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(270);
end;
with (IUnknown(Add('(I)')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 index ``';
Position := 0;
AllowSizing := False;
Width := 20;
end;
end;
ColumnAutoResize := True;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineColor := RGB(224,224,224);
AntiAliasing := True;
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 256;
AllowLinkBars := True;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAutoEndInclusive;
end;
with Items do
begin
AllowCellValueToItemBar := True;
AddBar(AddItem('Phase A'),'Task','1/1/2001','1/6/2001',Null,Null);
AddBar(AddItem('Phase B'),'Task','1/2/2001','1/7/2001',Null,Null);
AddBar(AddItem('Phase C'),'Task','12/29/2000','1/4/2001',Null,Null);
AddLink('L1',ItemByIndex[0],'',ItemByIndex[1],'');
AddLink('L2',ItemByIndex[0],'',ItemByIndex[2],'');
AddLink('L3',ItemByIndex[2],'',ItemByIndex[1],'');
end;
EndUpdate();
end
|
2286
|
Adding an Index column

with G2antt1 do
begin
BeginUpdate();
Chart.PaneWidth[True] := 0;
with Columns do
begin
(IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column).Width := 48;
with (IUnknown(Add('Index')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 index ``';
Position := 0;
AllowSizing := False;
Width := 48;
end;
end;
with Items do
begin
AddItem('Phase A');
AddItem('Phase B');
AddItem('Phase C');
end;
EndUpdate();
end
|
2285
|
Create a new bar should start at 1 day (after moving some pixel to the right 1 days is showing) and new days should been showing as soon as you hit the next day. How can I do that (create bar manually)

// CreateBar event - Fired when the user creates a new bar.
procedure TForm1.G2antt1CreateBar(ASender: TObject; Item : HITEM;DateStart : TDateTime;DateEnd : TDateTime);
begin
with G2antt1 do
begin
Items.AddBar(Item,'Task',OleVariant(DateStart),OleVariant(DateEnd),'','new');
end
end;
with G2antt1 do
begin
BeginUpdate();
OnResizeControl := EXG2ANTTLib_TLB.exResizeChart;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
(IUnknown(Columns.Add('Index')) as EXG2ANTTLib_TLB.Column).FormatColumn := '1 index ``';
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
GridLineColor := RGB(224,224,224);
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
NonworkingDays := 0;
AllowLinkBars := True;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarManualEndInclusive;
AllowZoomOnFly := EXG2ANTTLib_TLB.ZoomOnFlyEnum($fffffcc4 Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyIncludeSelectedItems) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyBarsOnly) Or Integer(EXG2ANTTLib_TLB.exZoomOnFly) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyCtrl) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyShift));
GridLineStyle := G2antt1.GridLineStyle;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
with Level[1] do
begin
DrawGridLines := True;
GridLineColor := G2antt1.GridLineColor;
end;
end;
with Items do
begin
AddItem('');
AddItem('');
AddItem('');
end;
EndUpdate();
end
|
2284
|
Create a new bar should start at 1 day (after moving some pixel to the right 1 days is showing) and new days should been showing as soon as you hit the next day. How can I do that (create bar automatically)

with G2antt1 do
begin
BeginUpdate();
OnResizeControl := EXG2ANTTLib_TLB.exResizeChart;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
(IUnknown(Columns.Add('Index')) as EXG2ANTTLib_TLB.Column).FormatColumn := '1 index ``';
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
GridLineColor := RGB(224,224,224);
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/28/2000';
PaneWidth[False] := 64;
NonworkingDays := 0;
AllowLinkBars := True;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAutoEndInclusive;
AllowZoomOnFly := EXG2ANTTLib_TLB.ZoomOnFlyEnum($fffffcc4 Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyIncludeSelectedItems) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyBarsOnly) Or Integer(EXG2ANTTLib_TLB.exZoomOnFly) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyCtrl) Or Integer(EXG2ANTTLib_TLB.exZoomOnFlyShift));
GridLineStyle := G2antt1.GridLineStyle;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
with Level[1] do
begin
DrawGridLines := True;
GridLineColor := G2antt1.GridLineColor;
end;
end;
EndUpdate();
end
|
2283
|
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of working-days when using the DateTickerLabel property (method 4, locale)

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
Bars.Add('Task:Split').Shortcut := 'Task';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarKeepWorkingCount] := OleVariant(True);
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%=value format `ddd dd`%><fgcolor 808080><%=(value=end?` (` + (wcount) + `wd)`:``)%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/28/2005','7/1/2005',Null,Null);
end;
EndUpdate();
end
|
2282
|
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of days when using the DateTickerLabel property (method 4, locale)

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%=value format `ddd dd`%><fgcolor 808080><%=(value=end?` (` + (end-start) + `d)`:``)%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/28/2005','7/1/2005',Null,Null);
end;
EndUpdate();
end
|
2281
|
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of days when using the DateTickerLabel property (method 3, english locale)

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%=(0 array (0:=(longdate(date(value)) split `,`)) left 3) + ` ` + ((2 array ((1 array =:0) split ` `)) lpad `00`) + (value=end' +
'?` (` + (end-start) + `d)`:``)%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/28/2005','7/1/2005',Null,Null);
end;
EndUpdate();
end
|
2280
|
How can I display the "<%ddd%> <%d%> <%mmm%>" format for start and end margins, but end margin should display one day before followed by the number of days

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%=(weekday(0:=(value-(value=end?1:0))) array ''Sun Mon Tue Wed Thu Fri Sat'' split '' '') + ` ` + day(=:0) + ` ` + ((month(=:0) - 1' +
') array ''Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'' split '' '') + (value=end?` (` + (end-start) + `d)`:``)%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/28/2005','7/1/2005',Null,Null);
end;
EndUpdate();
end
|
2279
|
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of days when using the DateTickerLabel property (method 2)

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%ddd%> <%d%> <%mmm%><%=(value=end?` (` + (end-start) + `d)`:``)%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/28/2005','7/1/2005',Null,Null);
end;
EndUpdate();
end
|
2278
|
How can I display the "<%ddd%> <%d%> <%mmm%>" format followed by number of days when using the DateTickerLabel property (method 1)

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%=(weekday(value) array ''Sun Mon Tue Wed Thu Fri Sat'' split '' '') + ` ` + day(value) + ` ` + ((month(value) - 1) array ''Jan Feb ' +
'Mar Apr May Jun Jul Aug Sep Oct Nov Dec'' split '' '') + (value=end?` (` + (end-start) + `d)`:``)%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/28/2005','7/1/2005',Null,Null);
end;
EndUpdate();
end
|
2277
|
How can I display just the end-margin when user resizes the bar

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%=value=start?``:value%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/23/2005','7/3/2005',Null,Null);
end;
EndUpdate();
end
|
2276
|
Is it possible to include the number of days (duration in days, hours, minutes) within the date-label

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
ResizeUnitScale := EXG2ANTTLib_TLB.exHour;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%=date(value=end?value-1:value)%><fgcolor 666666><off -4><%=value=end?` ` + ((1:=int(0:= end - start)) != 0 ? (=:1 + '' day(s)'')' +
' : '''') + (=:1 ? '' '' : '''' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + '' hour(s) '' : '''' ) + ((1:=round((=:0 - =' +
':1)*60)) != 0 ? =:1 + '' min(s)'' : ''''):``%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/23/2005','7/3/2005',Null,Null);
end;
EndUpdate();
end
|
2275
|
Is it possible to include the number of days within the date-label

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%mmm%> <%d%><fgcolor 808080><%=value=end?` (`+(end - start) + ` days)`:``%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/23/2005','7/3/2005',Null,Null);
end;
EndUpdate();
end
|
2274
|
Is it possible to show the date-label with the bar being created, moved or resized instead below the header-bar

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%mmm%> <%d%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/23/2005','7/3/2005',Null,Null);
end;
EndUpdate();
end
|
2273
|
Date-label customization

with G2antt1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABT0GACAADACAxRDAMgBQKAAzAJBIYhiGgcYCgMZBSDeCYXABCEYRXBIZQ7BKNIxjSJwFgmEgADCOIwAFBIZhrE4ZRwGCQRRgyI43RhHUBzVI' +
'UBxDEaTZLlGY4NjSIYHThPMzyDRlEyBBqVKKoWLZMjiIY2RhJM7SBR0OROGQaRJrewZHDUMJiQjZVoVNTkNyxH6uYzoKSqVACLowTJNFZXDDkeR5JqcKBqChIEpKO5wR' +
'riAABVZoAA3Rq+AAuPBJIwYAAyXTIdTwThkBz3R6tchgOw7LxeZJpWbZOo0TgGFwTLDQNCifI7Vi6NJ1DdcKLNNx3tDBdpGXZ4JznGa8a7jN57dr+JQ7U6degACytKxL' +
'BeOprHMcA+GafxaAiBIUA0JgziGVJkGUGJIFyUYiBEN5VBsGxCEUEIcn0cAxBgWBijmM4Ekec57n0RwJBgBgCgCEZCC4BoBmAdBwgSApgkgMQcB8YQIEYERHAceBWBaB' +
'YRkGQgagaYY0HAaYHmICIBBwGJiEiFglEcBYYiYKoKhGQRCC6C5inQcBNgyYxIlIMoNGMWI2DCDAigiLgrgiYhohoHoIGIGBmByBwhEgXgXgOYQoEoCoDGCWAWAiAggA' +
'gDgDEcH5pGUHAoCWSR2F0cxOjSHQJEAQCAg=');
Add(2,'CP:1 -2 -2 4 4');
end;
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelBack] := $2000000;
Background[EXG2ANTTLib_TLB.exDateTickerLabelFore] := $ffffff;
Background[EXG2ANTTLib_TLB.exDateTickerLabelHAlign] := $1;
Background[EXG2ANTTLib_TLB.exDateTickerLabelVAlign] := $1;
Background[EXG2ANTTLib_TLB.exDateTickerLabelHMargin] := $4;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%mmm%><br><%d%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/23/2005','7/3/2005',Null,Null);
end;
EndUpdate();
end
|
2272
|
How can I change the visual appearance for the date-label (EBN)

with G2antt1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'gBFLBCJwBAEHhEJAAEhABaICg6AADACAxRDAMgBQKAAzAJBIYhiGgcYCgMZBSDeCYXABCEYRXBIZQ7BKNIxjSJwFiCCQwSDKEjyCKcGRHF6MI6gOYpCgOIYjRJNIASVA' +
'ceAAGaUZrjSgobjmOYhAJCL70WAFFr/DCgZThGgJHomMIhAhHAJwTQ8EytJqmKajCaRSDUJZkWZOIyjBd6a5tVbXEaVTAccxhOKeahvGo5Fred40TRINCWHI1d4NH69J' +
'bwMLbSgMIKFABXdhWFC+Ex9Kiea7kOqIJwyA5bY5kGRWDRkLzROAALJ1Cz7KqydpDYyAGbABagAYfPy8JzxHKNarfA5GZzuG4zdi8U41WCBdpnHQNS4KL6ndBbWrdFoi' +
'C8X4QnAOQ8B4dp6BONQoBoTBnEOKZIkoMYQi2JZECIb4mDYNoEgoIQ8k2PIIDEGBAEuO4UmcF5xHufgqiACAGAKAJfmKdJogGWRAACbYCk0KA0mCA5OFgRgSgSYRIDyY' +
'AymGCAsm0QhNAgdJmgeX5DgiYYImISIWCaCBhCMUgqEITJIjSZ4Lk4OJGDKDJjEiVgvDmYpTDILILGAc4gmSD5kAkBhChCY5YmYOwzA6GQmBSEpkkgShJDoZBkA4OQ6i' +
'USB+FaFZlgkZJmhUDopEQAIOE6OYGDeGJmEmFg3hgTo5HoYIYGOWY2G6G9cCIaoLE6SZWE+HZngmZhPh1YJMkyBolkoBoCiCZbBn4O4ogmIoKiKaJJiKCA7ieY4+hKHw' +
'pEoVoW3MI4+H4PApkgaoeieagIGqHF3jocoPimaoKiaD4omeY5Gi6JhrAqRoyiYapjkYfg8iuCoOjqLprkqDo4DzcROkKLRsEsFpG4+I5OH4PQskqfpOjObQKn6TA9XE' +
'VpWjIbYLGaWoyG0Y5WlWNYtDuBpijibQ7HYfg9i6Cx2mqOpuksdpoD3cRenKO5vEuVp26wI5eH4PgvkuZp+j+cALmafA+XEZwGkCcIMCcCpAnAY5mH4PoxAwNwSkScRM' +
'DcEA+jCfBfBqRpxkwdwYgsZBzm8IpInITIXCaSdxHMKpKnKTI3C6S4lmgNJSkCT5slcNpNnODJnAMNZzkQJpvDYdAMDUTpQnQRQ7A2UANhuPRKFKZJ4iiVIOHUDRGDmU' +
'4higJJrGuQAEAQgI');
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelBack] := $1000000;
Background[EXG2ANTTLib_TLB.exDateTickerLabelFore] := $a0a0a;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := ' <%mmm%> <%d%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/23/2005','7/3/2005',Null,Null);
end;
EndUpdate();
end
|
2271
|
How can I change the visual appearance for the date-label (solid colors)

with G2antt1 do
begin
BeginUpdate();
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVertical);
Background[EXG2ANTTLib_TLB.exDateTickerLabelBack] := $1;
Background[EXG2ANTTLib_TLB.exDateTickerLabelFore] := $ffffff;
Columns.Add('Tasks');
with Chart do
begin
PaneWidth[False] := 96;
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
FirstVisibleDate := '6/20/2005';
LevelCount := 2;
DrawDateTicker := True;
DateTickerLabel := '<%mmm%> <%d%>';
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','6/21/2005','6/28/2005',Null,Null);
AddBar(AddItem('Task 2'),'Task','6/23/2005','7/3/2005',Null,Null);
end;
EndUpdate();
end
|
2270
|
Expandable-caption

// AnchorClick event - Occurs when an anchor element is clicked.
procedure TForm1.G2antt1AnchorClick(ASender: TObject; AnchorID : WideString;Options : WideString);
begin
with G2antt1 do
begin
OutputDebugString( AnchorID );
end
end;
with G2antt1 do
begin
BeginUpdate();
ColumnAutoResize := True;
TreeColumnIndex := -1;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
BackColorAlternate := RGB(240,240,240);
ShowFocusRect := False;
Columns.Add('Default');
with Items do
begin
AddItem('before item');
h := AddItem('<solidline> <c><b>Bank Account 1</b></solidline><br>+ owner: String <r><a 1;e64=gA8ABzABvABsABpABkg8JABuABlAA+AAgAECMcTi4AMwAM4A' +
'jMGhEGOUVAA4AAwk8plcqihwAElg0wiUlOkOiUEgQvgcFhsKhkIhUQiUUnccj0gn0jmMagUlowAMNOpEfkMNkkmlEqrctjQmAAjAA5AA2sssHcbnkdq1Ln1QtVSjQAAE' +
'BA==>▲</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;e64=gA8ABjAA+AECMwAM8DA' +
'BvABshoAOQAEAAHAAGEWjEajMGNoAMoAOgANERMgAOcHAAvAEJhcEh0Qh0Tg0CmkqMMFlUuhkxiMTisXjNCjk6EwAEYAHIAG1MjY7lUsnkwh8/nUClk5gwAAEBA==>' +
'9650;</a><br>+ withdraw(amount: Currency)');
CellValueFormat[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exHTML;
CellSingleLine[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exCaptionWordWrap;
h := AddItem('<solidline> <c><b>Bank Account 2</b><br> <c><fgcolor 808080>properties</solidline><a 1;e64=gArAAgABvAB3ABuABlAByAA6gYAKYAOkNABph' +
'IAM8RHgAMMRGIAHcLAA2AA0AA9jQAIIAHEsABCAB6mEyO01ABznBwnBrlcvJU4Os4NkwlsClstjctIoAIYAJoAMYAKkXk8wqMIltRlEtNVQABHABoAFNsRPABVABWo1X' +
'pMHAE+l88otTONWslasoAosbGFwjFqoton1owN7jZRAE3jdTI1jnIAJeQnxJyFqxWHtUKqdTr9/jcKv9fNtgj8bwUFuFbABOAFonlNM1xsGun0+0tFpt3h1TitfxWlt9' +
'ft41toyyM6nRIqQAMUZnxkAF3kJMjMhxUVtkT4FtpsylsqlQ+AEdh3kEwAEYAHMlAHGv8jjovjwA8kd5/n8uRg1FjDpP8jKGPIgSCOej6io+ziSIgginqGhyHIZBY8oi' +
'lSCL++b+L4q0AKshUBgBESAgA==><r>▼</a></fgcolor><br><c><fgcolor 808080>methods</fgcolor><r><a 2;e64=gArAAgABkABlABwABvABzABp' +
'AB0AAoABhABthYAOoAN0RAA6gYAIcaAByksHjgAMYAPIAFIAHkVkIyAA7lA2AA0AA9ABnABBAA4n4AIQANVDoECoBFkQAJoAO9Dp9CIlDop2q0NABojNAJ4AKNDplAoB' +
'IpAAI4AphXo1qmVHp9pJ1dp10r8+oFzphSut4AFfldmsgArFLABKrcqt1cGFgxONKk9AGNkcYNYAON1p5GABsABVklcy54h91yMQhxYttzkdHy84plRwxZodmJNDtIxu' +
'tH2g3zufrUdy9RrlCF8p0Ejz2XGuS2ViolDnk8H0wk/VEwAEYAHIAnHNxs2mPHi3VmJi64AgUEqMQiVcg0mi1RikWjEMjcdiUggkjjaTJMhCOpWlqXgAACAg><fgcolo' +
'r 808080>▼</fgcolor></a>');
CellValueFormat[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exHTML;
CellSingleLine[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exCaptionWordWrap;
AddItem('after item');
end;
EndUpdate();
end
|
2269
|
Expandable-caption

with G2antt1 do
begin
BeginUpdate();
ColumnAutoResize := True;
TreeColumnIndex := -1;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
BackColorAlternate := RGB(240,240,240);
ShowFocusRect := False;
Columns.Add('Default');
with Items do
begin
AddItem('before item');
h := AddItem('<solidline><b>Header</b></solidline><br>Line1<r><a ;exp=show lines>+</a><br>Line2<br>Line3');
CellValueFormat[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exHTML;
CellSingleLine[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exCaptionWordWrap;
AddItem('after item');
end;
EndUpdate();
end
|
2268
|
Can I change the pattern for a specific bar only
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '12/31/2009';
LevelCount := 2;
PaneWidth[False] := 96;
with Bars.Item['Task'] do
begin
StartColor := $ffffff;
EndColor := Color;
end;
end;
Columns.Add('Types');
with Items do
begin
AddBar(AddItem('Original'),'Task','1/4/2010','1/9/2010','',Null);
h := AddItem('W/h Pattern');
AddBar(h,'Task','1/4/2010','1/9/2010','',Null);
ItemBar[h,'',EXG2ANTTLib_TLB.exBarPattern] := OleVariant(6);
AddBar(AddItem('Original'),'Task','1/4/2010','1/9/2010','',Null);
end;
EndUpdate();
end
|
2267
|
Force hover-all feature
with G2antt1 do
begin
Background[EXG2ANTTLib_TLB.exScrollHoverAll] := $ffffffff;
end
|
2266
|
Disable hover-all feature (Windows 11 or greater)
with G2antt1 do
begin
Background[EXG2ANTTLib_TLB.exScrollHoverAll] := $1;
end
|
2265
|
I'm using the Milestone bar type, but find it to small and want to enlarge it. I can change the bar height, but then the shape gets a bit distorted (e.g. it doesn't scale properly)

with G2antt1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABJYCg6AADACAxRDgMQBQKAAzQFAYZhmGSGAAGIZhXgmFgAQhFcZQSKUOQTDKMIRfeQwAiNf4hQKBMIjKKAShaHCVIDlSThYAKCQxDZNUCQXD' +
'cdRRDaBR7hGgoaj6JolSRFUgSABEEigNIxToOU4jFgeCR2C7AZBEbTENBtBIUKDsKA4IBiFxAVjQFpSNZlWzdN64LhuK47UrWbYiXZeN5XXblaTxPrAMBwKzrLwPBqHX' +
'rfeIYXhlDzVC7GchxTCsSxXCaPY7lWZZPRGN49ODMNBibL9EwSA6laToWpRVpGSYpVrGdT2KgNQxbL61YLse5ZTrGF5vXrONz4LBeAwHP7FXLwfJaVxFeaPZq7eT6LRf' +
'EKa5PmgdJ7DuLotkeL5Am0eA4F2ToOHeK5hnOco8HIfQ/GOUZumWeY9h2fx/lOJ5Im8bY+j+LpWnecYxH6YAHgWMB/hgeAGAYe4aheSZ5gGYJICGG4BByaA2BIfRgjYR' +
'gTgWihaAobhhggdgBG+IY1nYHoImCRgaBAeQiEiJgHHGIgVnoKoLmEOBFmUchjAiVgYF4XZoloOoImKaJNGyDpkAiJZdggZAZBYLxphmWQaEqDRYmkLhOhEZJZD4UoMF' +
'SGJ6FOFZhheEhDhYJZHGYW4PGWWYFlSDQjmkbhi0WBZaCcepmgmBgygsJtLHCCYnBkBh0hkWAJlYMIICeBgKHqBxhimdh3h+ZYWEoa4MigR4hh6IZnhoJheGuIpYD6Dh' +
'umAOhFh+JJaCedoWgIaYGg2RYjCgahNnGIIbgmaZqigKI5jmaoVGqOIiEuKxjnobZjhGKwJCKNRoCSSpejaLorggeo8i8a51koVIwFaeoijOIRsEsApJhgIArC4ZIzia' +
'Kg+lCM5tDsRoUjUXRqkqWIrhuSxulmKQtmkIYsjgY4LGqZIum4e4UAAOpRBQJQBICA==');
Add(2,'CP:1 1 1 11 -2');
end;
DefaultItemHeight := 32;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
Columns.Add('Task');
with Chart do
begin
LevelCount := 2;
PaneWidth[False] := 128;
FirstVisibleDate := '1/1/2001';
with Bars.Item['Milestone'] do
begin
Height := 24;
Color := $2000000;
end;
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Milestone','1/2/2001','1/2/2001',Null,Null);
end;
EndUpdate();
end
|
2264
|
I'm using the Milestone bar type, but find it to small and want to enlarge it. I can change the bar height, but then the shape gets a bit distorted (e.g. it doesn't scale properly)

with G2antt1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABXYCg6AADACAxRDgMQBQKAAzQFAYZhmGSGAAGIZhXgmFgAQhFcZQSKUOQTDKMIRfeQwAiNf4hQKBMIjKKAShaHCVIDlSThYAKCQxDZNUCDND' +
'YAR1FCeQACCCaDgOII/SZJMiRNIEQARBIoDRMM5DVLIZYHQjCcBkERtNQvHiBRQoSw6GAAGIaRDQMZSNZlWxMfx9XyeBoVeapFhbO4mZavEyCeTgfS3MBwLA3XZxTTxK' +
'IaD6KASbepEKh6VDNF52bYrA6XWy/T6PW7GDLmUY1H5UQpnfR4Uj/JyUT7KIS7bpMNTOWYfZ7XcxibKaZw2LDvIoxWL6UosH7UEpXfR/RLGcIVL7KKTLbpQNp8GwYXJW' +
'AMBJ+mubB3gaV5qhyNp/FIFhfmoLgPg+RZkmCeA7gWN46iSXJ4G2Mh6m+ax7nGdJ4G6MxegoXpaiSPJ/CmRZTnyJR3iAOAKASAZgGOfImBcD5iigXx7B6ZhVHAPhPHMW' +
'JDD0CohkSfQrEYE58ioGAPnKJBfggYg4goJIJmIaImCOA8gjQYg9kqMZAngNQMAOSIrByT5CmAcA/ksMYon8K4GEOfIsBjLQuESEYkFkHhKhIZJJCCLQYk+YpEGZNhBk' +
'SbgrkeM7viIT5zBCAA/kucZsn8LxHHOfI4BwT5ylQbU9kGLJ/CyBoJj4cYcCcKZUjYGwPkMDDlkqcZhgUMwPBKaIID8DQSReMoIVYRQgmiIgIn8MJlnMCB+VKaYUjpOx' +
'ylgboaEbQQ3BuD5TBgfg8kuAgMncbobgOYJjDWTwCmCB1oGIVJ/DQCQDnyTAjCsYgujkP5MjqaJKhcDIaCSRwg3eMIGDyCxyAieA3k0FxRG8dgOCMVJxC8CJTnCVwmg+' +
'cxchgP5NCIUpcjeLZbHyfw1gkexYhteZSDjkQNAeSYDGyT5LCyUQ8EvL58DeSkrFwJ+ZmSG4/G+cxsh0PxNkKDJ0C+CQGkWOBthadpQniNBtDIMJ8DiSlWGMKYPnOCIm' +
'D8TgiiidI6GyO41huQwdGcYorj1g5smIKZPkOBweC+SQjmCYA0i6bIRjYbgYFMNJvC0CBLCCCA9k2Iwik6SQOjWJQDEAQCAg');
Add(2,'CP:1 -6 0 20 0');
end;
DefaultItemHeight := 32;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
Columns.Add('Task');
with Chart do
begin
LevelCount := 2;
PaneWidth[False] := 128;
FirstVisibleDate := '1/1/2001';
with Bars.Item['Milestone'] do
begin
Height := 28;
Color := $2000000;
end;
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Milestone','1/2/2001','1/2/2001',Null,Null);
end;
EndUpdate();
end
|
2263
|
I'm using the Milestone bar type, but find it to small and want to enlarge it. I can change the bar height, but then the shape gets a bit distorted (e.g. it doesn't scale properly)

with G2antt1 do
begin
BeginUpdate();
DefaultItemHeight := 32;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
Columns.Add('Task');
with Chart do
begin
LevelCount := 2;
PaneWidth[False] := 128;
FirstVisibleDate := '1/1/2001';
Bars.Item['Milestone'].Height := 28;
end;
with Items do
begin
AddBar(AddItem('Task 1'),'Milestone','1/2/2001','1/2/2001',Null,Null);
end;
EndUpdate();
end
|
2262
|
Display the bar's tooltip at runtime

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
ShowToolTip(Chart.BarFromPoint[-1,-1],Null,Null,Null,Null);
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '...';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
end;
EndUpdate();
end
|
2261
|
Includes the cell's state and user-data to bar's tooltip

with G2antt1 do
begin
BeginUpdate();
(IUnknown(Columns.Add('Def')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 96;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<%=%C0%><br>Start: <%=%1%><br>End: <%=%2%><br>State: <b><%=%CS0%></b><br>UserData: <b><%=%CD0%></b>';
end;
with Items do
begin
h := AddItem('Machine 1');
CellState[OleVariant(h),OleVariant(0)] := 1;
CellData[OleVariant(h),OleVariant(0)] := 'just some data';
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
h := AddItem('Machine 2');
AddBar(h,'Task','1/2/2010','1/5/2010','B','B');
CellData[OleVariant(h),OleVariant(0)] := 'just nother data';
end;
EndUpdate();
end
|
2260
|
Shows the tooltip of the object moved relative to its default position

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
ShowToolTip('<null>','<null>',Null,'+8','+8');
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
end;
EndUpdate();
end
|
2259
|
Adds, changes or replaces the title of the object's tooltip

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
ShowToolTip('<null>',Chart.BarFromPoint[-1,-1],Null,Null,Null);
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
end;
EndUpdate();
end
|
2258
|
Adds, changes or replaces the object's tooltip

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
ShowToolTip(Chart.BarFromPoint[-1,-1],Null,Null,Null,Null);
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
end;
EndUpdate();
end
|
2257
|
Shows a new tooltip and title at current position

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
ShowToolTip('new content','new title',Null,Null,Null);
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
end;
EndUpdate();
end
|
2256
|
Shows a new tooltip and title moved relative to the current position

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
ShowToolTip('new content','new title',Null,'+8','+8');
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
end;
EndUpdate();
end
|
2255
|
Displays a different tooltip at a fixed position
// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
ShowToolTip('new content','',Null,OleVariant(128),OleVariant(128));
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
end;
EndUpdate();
end
|
2254
|
Hide the tooltip

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
ShowToolTip('','',Null,Null,Null);
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '<b><%=%C0 + ` ` + %9%></b><br>Start: <b><%=%1%></b><br>End: <b><%=%2%></b>';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
end;
EndUpdate();
end
|
2253
|
I need 2 bars that are linked together and cannot be moved/splitted alone (moving one should move the two bars, like a « Group » of bars). How can I achieve that

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
HeaderVisible := EXG2ANTTLib_TLB.exHeaderVisibleExtendLevels;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 96;
LevelCount := 2;
end;
with Items do
begin
AddItem(Null);
h1 := AddItem('Task 1');
AddBar(h1,'Task','1/5/2001 12:00:00 PM','1/7/2001','T1',Null);
ItemBar[h1,'',EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
AddBar(h1,'Task','1/3/2001','1/4/2001 12:00:00 PM','T2',Null);
ItemBar[h1,'T2',EXG2ANTTLib_TLB.exBarColor] := OleVariant(255);
GroupBars(h1,'T1',True,h1,'T2',True,OleVariant(27),OleVariant(0));
AddItem(Null);
end;
EndUpdate();
end
|
2252
|
How can I show the tooltip programmatically ( I want to be able to set the tooltip content dynamically just before the tooltip start to appear, not using the exBarTooltip )
// ToolTip event - Fired when the control prepares the object's tooltip.
procedure TForm1.G2antt1ToolTip(ASender: TObject; Item : HITEM;ColIndex : Integer;var Visible : WordBool;var X : Integer;var Y : Integer;CX : Integer;CY : Integer);
begin
with G2antt1 do
begin
ShowToolTip(Chart.BarFromPoint[-1,-1],Null,Null,Null,Null);
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Def');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exNoCreateBar;
PaneWidth[False] := 64;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarToolTip] := '...';
end;
with Items do
begin
h := AddItem('Task');
AddBar(h,'Task','1/2/2010','1/5/2010','A','A');
AddBar(h,'Task','1/5/2010','1/8/2010','B','B');
AddBar(h,'Task','1/8/2010','1/11/2010','C','C');
GroupBars(h,'A',False,h,'B',True,OleVariant(39),Null);
GroupBars(h,'B',False,h,'C',True,OleVariant(39),Null);
end;
EndUpdate();
end
|
2251
|
I'd like to move itembars from one item to another, using .Chart.Bars("Task").Def(exBarCanMoveToAnother) = True this works for any new bar. The question is how can I specify this feature for bars already created

with G2antt1 do
begin
BeginUpdate();
DefaultItemHeight := 32;
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with Chart do
begin
LevelCount := 2;
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 48;
AllowLinkBars := False;
with Bars.Item['Task'] do
begin
OverlaidType := EXG2ANTTLib_TLB.exOverlaidBarsCascade;
Def[EXG2ANTTLib_TLB.exBarCaption] := 'only horizontal';
Def[EXG2ANTTLib_TLB.exBarCaptionVOffset] := OleVariant(18);
Def[EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
end;
end;
Columns.Add('Column');
with Items do
begin
AddBar(AddItem('Item 1'),'Task','1/3/2001','1/5/2001','A',Null);
AddBar(AddItem('Item 2'),'Task','1/4/2001','1/6/2001','B',Null);
AddBar(AddItem('Item 3'),'Task','1/3/2001','1/5/2001','C',Null);
ItemBar[0,'<*>',EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(False);
end;
EndUpdate();
end
|
2250
|
I'd like to move itembars from one item to another, using .Chart.Bars("Task").Def(exBarCanMoveToAnother) = True this works for any new bar. The question is can I disable this for particular item-bars

with G2antt1 do
begin
BeginUpdate();
DefaultItemHeight := 32;
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with Chart do
begin
LevelCount := 2;
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 48;
AllowLinkBars := False;
with Bars.Item['Task'] do
begin
OverlaidType := EXG2ANTTLib_TLB.exOverlaidBarsCascade;
Def[EXG2ANTTLib_TLB.exBarCaption] := 'anywhere';
Def[EXG2ANTTLib_TLB.exBarCaptionVOffset] := OleVariant(18);
Def[EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
end;
end;
Columns.Add('Column');
with Items do
begin
AddBar(AddItem('Item 1'),'Task','1/3/2001','1/5/2001','A',Null);
h := AddItem('Item 2');
AddBar(h,'Task','1/4/2001','1/6/2001','B','only horiontal');
ItemBar[h,'B',EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(False);
AddBar(AddItem('Item 3'),'Task','1/3/2001','1/5/2001','C',Null);
end;
EndUpdate();
end
|
2249
|
I need the top row to display months, while the second to show units in weeks, but can 10 by 10 days days. Is it possible

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
PaneWidth[False] := 0;
DrawGridLines := EXG2ANTTLib_TLB.exVLines;
FirstVisibleDate := '1/1/2001';
UnitWidth := 30;
LevelCount := 2;
Level[0].Unit := EXG2ANTTLib_TLB.exMonth;
with Level[1] do
begin
Unit := EXG2ANTTLib_TLB.exDay;
Count := 10;
end;
end;
EndUpdate();
end
|
2248
|
Limit the chart's margins when using the CopyTo method

with G2antt1 do
begin
BeginUpdate();
MarkSearchColumn := False;
with Columns do
begin
Add('Tasks');
with (IUnknown(Add('Start')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Editor.EditType := EXG2ANTTLib_TLB.SpinType;
end;
with (IUnknown(Add('End')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
Editor.EditType := EXG2ANTTLib_TLB.SpinType;
end;
end;
with Chart do
begin
PaneWidth[False] := 196;
LevelCount := 2;
ShowEmptyBars := 1;
FirstVisibleDate := '1/1/2009';
end;
with Items do
begin
AllowCellValueToItemBar := True;
AddBar(AddItem('Task 1'),'Task','1/2/2009','1/7/2009',Null,Null);
AddBar(AddItem('Task 2'),'Task','1/4/2009','1/9/2009',Null,Null);
end;
with Chart do
begin
StartPrintDate := '1/4/2009';
EndPrintDate := '1/5/2009';
end;
var_CopyTo := CopyTo['c:/temp/xtest.pdf'];
OutputDebugString( 'Look for C:\Temp\xtest.pdf file.' );
EndUpdate();
end
|
2247
|
I want to always keep the bottom item stationary. It can always display even when scrolling vertically. The bar placed at the bottom item is must be movable to other items

with G2antt1 do
begin
color := 15790320;
BeginUpdate();
Debug := True;
HeaderVisible := EXG2ANTTLib_TLB.exHeaderVisibleExtendLevels;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
ShowLockedItems := True;
with Chart do
begin
PaneWidth[False] := 128;
LevelCount := 2;
FirstVisibleDate := '12/31/2015';
Bars.Item['Task'].Def[EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
end;
Columns.Add('Column');
with Items do
begin
LockedItemCount[EXG2ANTTLib_TLB.exTop] := 3;
h := LockedItem[EXG2ANTTLib_TLB.exTop,0];
ItemBackColor[h] := color;
G2antt1.Chart.ItemBackColor[h] := color;
CellValue[OleVariant(h),OleVariant(0)] := 'locked-top 1';
AddBar(h,'Task','1/4/2016','1/8/2016','T1',Null);
h := LockedItem[EXG2ANTTLib_TLB.exTop,1];
ItemBackColor[h] := color;
G2antt1.Chart.ItemBackColor[h] := color;
CellValue[OleVariant(h),OleVariant(0)] := 'locked-top 2';
AddBar(h,'Task','1/5/2016','1/9/2016','T2',Null);
h := LockedItem[EXG2ANTTLib_TLB.exTop,2];
SelectItem[h] := False;
ItemDivider[h] := 0;
ItemHeight[h] := 2;
AddBar(AddItem('un-locked item 1'),'Task','1/4/2016','1/8/2016','T3',Null);
AddBar(AddItem('un-locked item 2'),'Task','1/5/2016','1/9/2016','T4',Null);
LockedItemCount[EXG2ANTTLib_TLB.exMiddle] := 3;
h := LockedItem[EXG2ANTTLib_TLB.exMiddle,0];
SelectItem[h] := False;
ItemDivider[h] := 0;
ItemHeight[h] := 2;
h := LockedItem[EXG2ANTTLib_TLB.exMiddle,1];
ItemBackColor[h] := color;
G2antt1.Chart.ItemBackColor[h] := color;
CellValue[OleVariant(h),OleVariant(0)] := 'locked-bottom 1';
AddBar(h,'Task','1/4/2016','1/8/2016','T5',Null);
h := LockedItem[EXG2ANTTLib_TLB.exMiddle,2];
ItemBackColor[h] := color;
G2antt1.Chart.ItemBackColor[h] := color;
CellValue[OleVariant(h),OleVariant(0)] := 'locked-bottom 2';
AddBar(h,'Task','1/5/2016','1/9/2016','T6',Null);
end;
EndUpdate();
end
|
2246
|
How can I get a cell that shows the sum of a column of minutes in hours + minutes format

with G2antt1 do
begin
BeginUpdate();
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with (IUnknown(Columns.Add('Minutes')) as EXG2ANTTLib_TLB.Column) do
begin
SortType := EXG2ANTTLib_TLB.SortNumeric;
with Editor do
begin
EditType := EXG2ANTTLib_TLB.EditType;
Numeric := EXG2ANTTLib_TLB.exInteger;
end;
end;
with Items do
begin
AddItem(OleVariant(10));
AddItem(OleVariant(20));
AddItem(OleVariant(30));
AddItem(OleVariant(40));
AddItem(OleVariant(50));
h := AddItem('sum(all,dir,dbl(%0))');
SelectableItem[h] := False;
SortableItem[h] := False;
CellValueFormat[OleVariant(h),OleVariant(0)] := Integer(EXG2ANTTLib_TLB.exTotalField) Or Integer(EXG2ANTTLib_TLB.exHTML);
CellHAlignment[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.RightAlignment;
FormatCell[OleVariant(h),OleVariant(0)] := '''<b>HH:NN</b>: ''+ (int(value/60) lpad ''00'') + '':'' + ((value mod 60) lpad ''00'')';
end;
EndUpdate();
end
|
2245
|
Ensure that a bar fits the chart's visible area (unique keys)

with G2antt1 do
begin
BeginUpdate();
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with Chart do
begin
FirstVisibleDate := '3/26/2023';
LevelCount := 2;
PaneWidth[False] := 128;
end;
Columns.Add('Tasks');
with Items do
begin
AddBar(AddItem('Task A'),'Task','1/2/2001','1/12/2001','T1',Null);
AddBar(AddItem('Task B'),'Task','1/20/2001','1/31/2001','T2',Null);
EnsureVisibleBar(0,'T1');
end;
EndUpdate();
end
|
2244
|
Ensure that a bar fits the chart's visible area

with G2antt1 do
begin
BeginUpdate();
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with Chart do
begin
FirstVisibleDate := '3/26/2023';
LevelCount := 2;
PaneWidth[False] := 128;
end;
Columns.Add('Tasks');
with Items do
begin
h1 := AddItem('Task A');
AddBar(h1,'Task','1/2/2001','1/12/2001','T1',Null);
h2 := AddItem('Task B');
AddBar(h2,'Task','1/20/2001','1/31/2001','T2',Null);
EnsureVisibleBar(h1,'T1');
end;
EndUpdate();
end
|
2243
|
Is it possible to change the visual appearance for the frame to create newly bar by drag and drop

with G2antt1 do
begin
BeginUpdate();
VisualAppearance.Add(1,'c:\exontrol\images\normal.ebn');
Background[EXG2ANTTLib_TLB.exChartCreateBar] := $1000000;
Background[EXG2ANTTLib_TLB.exCreateBarHeight] := $f;
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
PaneWidth[False] := 128;
LevelCount := 2;
FirstVisibleDate := '1/1/2001';
with Bars.Item['Task'] do
begin
Color := $1000000;
Height := 15;
end;
end;
Columns.Add('Column');
with Items do
begin
AddBar(AddItem('Item 1'),'Task','1/2/2001','1/7/2001',Null,Null);
AddBar(AddItem('Item 2'),'Task','1/6/2001','1/14/2001',Null,Null);
end;
EndUpdate();
end
|
2242
|
Highlight the match once the filter is applied

// FilterChange event - Occurs when the filter was changed.
procedure TForm1.G2antt1FilterChange(ASender: TObject; );
begin
with G2antt1 do
begin
format := FormatABC('`lower(value) replace lower(''` + value + `'') with ''<bgcolor 000000><fgcolor FFFFFF>` + value + `</fgcolor></bgcolor>''`',OleVariant(FilterBarPromptPattern),Null,Null);
Columns.Item[OleVariant(0)].FormatColumn := format;
Columns.Item[OleVariant(1)].FormatColumn := format;
Columns.Item[OleVariant(2)].FormatColumn := format;
end
end;
with G2antt1 do
begin
BeginUpdate();
SelBackColor := BackColor;
SelForeColor := ForeColor;
ColumnAutoResize := True;
ContinueColumnScroll := False;
MarkSearchColumn := False;
SearchColumnIndex := 1;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
HeaderHeight := 23;
BackColorLevelHeader := BackColor;
FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)';
FilterBarPromptVisible := Integer(EXG2ANTTLib_TLB.exFilterBarCompact) Or Integer(EXG2ANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXG2ANTTLib_TLB.exFilterBarVisible) Or Integer(EXG2ANTTLib_TLB.exFilterBarPromptVisible);
FilterBarBackColor := BackColor;
FilterBarPromptPattern := 'and';
with Columns do
begin
with (IUnknown(Add('Name')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
FormatColumn := 'lower(value)';
end;
with (IUnknown(Add('Title')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
FormatColumn := 'lower(value)';
end;
with (IUnknown(Add('City')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
FormatColumn := 'lower(value)';
end;
end;
with Items do
begin
h0 := AddItem('Nancy Davolio');
CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle';
h0 := AddItem('Andrew Fuller');
CellValue[OleVariant(h0),OleVariant(1)] := 'Vice President, Sales';
CellValue[OleVariant(h0),OleVariant(2)] := 'Tacoma';
SelectItem[h0] := True;
h0 := AddItem('Janet Leverling');
CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellValue[OleVariant(h0),OleVariant(2)] := 'Kirkland';
h0 := AddItem('Margaret Peacock');
CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellValue[OleVariant(h0),OleVariant(2)] := 'Redmond';
h0 := AddItem('Steven Buchanan');
CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Manager';
CellValue[OleVariant(h0),OleVariant(2)] := 'London';
h0 := AddItem('Michael Suyama');
CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellValue[OleVariant(h0),OleVariant(2)] := 'London';
h0 := AddItem('Robert King');
CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellValue[OleVariant(h0),OleVariant(2)] := 'London';
h0 := AddItem('Laura Callahan');
CellValue[OleVariant(h0),OleVariant(1)] := 'Inside Sales Coordinator';
CellValue[OleVariant(h0),OleVariant(2)] := 'Seattle';
h0 := AddItem('Anne Dodsworth');
CellValue[OleVariant(h0),OleVariant(1)] := 'Sales Representative';
CellValue[OleVariant(h0),OleVariant(2)] := 'London';
end;
EndUpdate();
end
|
2241
|
The count of filtered items includes the group-parents. How can I exclude them from count

with G2antt1 do
begin
BeginUpdate();
DrawGridLines := EXG2ANTTLib_TLB.exVLines;
HeaderAppearance := EXG2ANTTLib_TLB.Flat;
HeaderHeight := 24;
SortBarHeight := 28;
SortBarVisible := True;
AllowGroupBy := True;
Columns.Add('Col 1');
Columns.Add('Col 2');
with Items do
begin
CellValue[OleVariant(AddItem('219 Smith')),OleVariant(1)] := 'Ignacio 1234';
CellValue[OleVariant(AddItem('1666 County Road 309A')),OleVariant(1)] := '897 Manassa';
CellValue[OleVariant(AddItem('38 Lone Pine')),OleVariant(1)] := 'Durango 11';
CellValue[OleVariant(AddItem('612 Jachim Street')),OleVariant(1)] := 'Lamar 222';
end;
Layout := 'MultipleSort="C1:1"';
FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? leafitemcount + ` result(s)` : ``)';
FilterBarPromptVisible := Integer(EXG2ANTTLib_TLB.exFilterBarCompact) Or Integer(EXG2ANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXG2ANTTLib_TLB.exFilterBarVisible) Or Integer(EXG2ANTTLib_TLB.exFilterBarPromptVisible);
FilterBarPromptType := Integer(EXG2ANTTLib_TLB.exFilterPromptCaseSensitive) Or Integer(EXG2ANTTLib_TLB.exFilterPromptContainsAll);
FilterBarPromptPattern := '12';
FilterBarBackColor := BackColor;
EndUpdate();
end
|
2240
|
Is it possible to display the count of filtered items

with G2antt1 do
begin
BeginUpdate();
DrawGridLines := EXG2ANTTLib_TLB.exVLines;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
HeaderHeight := 24;
Columns.Add('Col 1');
Columns.Add('Col 2');
with Items do
begin
CellValue[OleVariant(AddItem('219 Smith')),OleVariant(1)] := 'Ignacio 1234';
CellValue[OleVariant(AddItem('1666 County Road 309A')),OleVariant(1)] := '897 Manassa';
CellValue[OleVariant(AddItem('38 Lone Pine')),OleVariant(1)] := 'Durango 11';
CellValue[OleVariant(AddItem('612 Jachim Street')),OleVariant(1)] := 'Lamar 222';
end;
FilterBarCaption := '`<b>` + value + `</b><r><fgcolor=808080>` + ( matchitemcount < 0 ? abs(matchitemcount + 1) + ` result(s)` : ``)';
FilterBarPromptVisible := Integer(EXG2ANTTLib_TLB.exFilterBarCompact) Or Integer(EXG2ANTTLib_TLB.exFilterBarCaptionVisible) Or Integer(EXG2ANTTLib_TLB.exFilterBarVisible) Or Integer(EXG2ANTTLib_TLB.exFilterBarPromptVisible);
FilterBarPromptType := Integer(EXG2ANTTLib_TLB.exFilterPromptCaseSensitive) Or Integer(EXG2ANTTLib_TLB.exFilterPromptContainsAll);
FilterBarPromptPattern := '12';
FilterBarBackColor := BackColor;
EndUpdate();
end
|
2239
|
ADOR, MDB (JET)
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
with Items do
begin
AddBar(Item,'Task',CellValue[OleVariant(Item),OleVariant(2)],CellValue[OleVariant(Item),OleVariant(4)],Null,Null);
end;
end
end;
with G2antt1 do
begin
BeginUpdate();
ColumnAutoResize := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.mdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
with Chart do
begin
FirstVisibleDate := '8/4/1994';
LevelCount := 2;
PaneWidth[False] := 256;
end;
Items.AllowCellValueToItemBar := True;
Columns.Item[OleVariant(2)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Columns.Item[OleVariant(4)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
EndUpdate();
end
|
2238
|
exOverlaidBarsOffset + exOverlaidBarTransparent + exBarCanMoveToAnother
with G2antt1 do
begin
BeginUpdate();
DefaultItemHeight := 22;
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
Columns.Add('Task');
with Chart do
begin
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
ResizeUnitScale := EXG2ANTTLib_TLB.exHour;
PaneWidth[False] := 48;
FirstVisibleDate := '1/1/2001';
with Bars.Item['Task'] do
begin
OverlaidType := Integer(EXG2ANTTLib_TLB.exOverlaidBarsTransparent) Or Integer(EXG2ANTTLib_TLB.exOverlaidBarsOffset);
Overlaid[EXG2ANTTLib_TLB.exOverlaidBarsTransparent] := OleVariant(70);
Def[EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
end;
end;
ItemsAllowSizing := EXG2ANTTLib_TLB.exResizeItem;
with Items do
begin
SelectableItem[AddItem(Null)] := False;
h := AddItem('Task 1');
AddBar(h,'Task','1/2/2001','1/4/2001','A1',Null);
AddBar(h,'Task','1/3/2001','1/5/2001','A2',Null);
AddBar(h,'Task','1/4/2001','1/7/2001','A3',Null);
ItemHeight[h] := 64;
h := AddItem('Task 2');
AddBar(h,'Task','1/7/2001','1/10/2001','A4',Null);
AddBar(h,'Task','1/8/2001','1/12/2001','A5',Null);
SelectableItem[AddItem(Null)] := False;
end;
EndUpdate();
end
|
2237
|
Editors (ImageSize = 32)

with G2antt1 do
begin
BeginUpdate();
ImageSize := 32;
DefaultItemHeight := 36;
HeaderHeight := DefaultItemHeight;
SortBarHeight := DefaultItemHeight;
Font.Size := 16;
FilterBarFont.Size := G2antt1.Font.Size;
ToolTipFont.Size := G2antt1.Font.Size;
Indent := 26;
Images('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');
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' +
'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM' +
'RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR' +
'DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF' +
'oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk' +
'mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo' +
'chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0' +
'ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8' +
'CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U' +
'gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==');
Add(2,'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' +
'RBCCQAgQEA==');
Add(3,'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');
Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' +
'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' +
'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' +
'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' +
'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' +
'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' +
'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' +
'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' +
'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
end;
BackColorHeader := $4c6c6c6;
SelBackColor := $4000000;
SelForeColor := RGB(0,0,1);
ShowFocusRect := False;
CheckImage[EXG2ANTTLib_TLB.Unchecked] := 16777216;
CheckImage[EXG2ANTTLib_TLB.Checked] := 33554432;
CheckImage[EXG2ANTTLib_TLB.PartialChecked] := 50331648;
(IUnknown(Columns.Add('Editors')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
with Items do
begin
CellEditor[OleVariant(AddItem('(ReadOnly)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.ReadOnly;
CellEditor[OleVariant(AddItem('(EditType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.EditType;
h := AddItem('Value 1');
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownType;
AddItem(1,'Value 1',OleVariant(1));
AddItem(2,'Value 2',OleVariant(2));
AddItem(3,'Value 3',OleVariant(3));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownType)''';
h := AddItem(OleVariant(1));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
DropDownAutoWidth := EXG2ANTTLib_TLB.exDropDownEditorWidth;
AddItem(1,'Nancy Davolio',OleVariant(1));
AddItem(2,'Andrew Fuller',OleVariant(2));
AddItem(3,'Janet Leverling',OleVariant(3));
AddItem(4,'Peacock Margaret',OleVariant(3));
AddItem(5,'Steven Buchanan',OleVariant(2));
AddItem(6,'Michael Suyama',OleVariant(1));
AddItem(7,'Robert King',OleVariant(2));
AddItem(8,'Laura Callahan',OleVariant(3));
AddItem(9,'Anne Dodsworth',OleVariant(2));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownList - single column list)''';
h := AddItem(OleVariant(1));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
DropDownAutoWidth := EXG2ANTTLib_TLB.exDropDownEditorWidth;
AddItem(1,'Nancy Davolio',OleVariant(1));
AddItem(2,'Andrew Fuller',OleVariant(2));
InsertItem(3,'Janet Leverling',OleVariant(3),OleVariant(2));
InsertItem(4,'Peacock Margaret',OleVariant(3),OleVariant(2));
InsertItem(5,'Steven Buchanan',OleVariant(2),OleVariant(2));
InsertItem(6,'Michael Suyama',OleVariant(1),OleVariant(5));
InsertItem(7,'Robert King',OleVariant(2),OleVariant(2));
InsertItem(8,'Laura Callahan',OleVariant(3),OleVariant(2));
InsertItem(9,'Anne Dodsworth',OleVariant(2),OleVariant(5));
ExpandAll();
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownList - single column tree)''';
h := AddItem(OleVariant(1));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
DropDownAutoWidth := EXG2ANTTLib_TLB.exDropDownEditorWidth;
Option[EXG2ANTTLib_TLB.exDropDownColumnCaption] := 'Name¦Title¦City¦Phone';
Option[EXG2ANTTLib_TLB.exDropDownColumnWidth] := '312¦¦¦96';
AddItem(1,'Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857',OleVariant(1));
AddItem(2,'Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482',OleVariant(2));
AddItem(3,'Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412',OleVariant(3));
AddItem(4,'Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122',OleVariant(3));
AddItem(5,'Steven Buchanan¦Sales Manager¦London¦(71) 555-4848',OleVariant(2));
AddItem(6,'Michael Suyama¦Sales Representative¦London¦(71) 555-7773',OleVariant(1));
AddItem(7,'Robert King¦Sales Representative¦Kirkland¦(71) 555-5598',OleVariant(2));
AddItem(8,'Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189',OleVariant(3));
AddItem(9,'Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444',OleVariant(2));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownList - multiple columns list)''';
h := AddItem(OleVariant(1));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
DropDownAutoWidth := EXG2ANTTLib_TLB.exDropDownEditorWidth;
Option[EXG2ANTTLib_TLB.exDropDownColumnCaption] := 'Name¦Title¦City¦Phone';
Option[EXG2ANTTLib_TLB.exDropDownColumnWidth] := '312¦¦¦96';
AddItem(1,'Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857',OleVariant(1));
AddItem(2,'Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482',OleVariant(2));
InsertItem(3,'Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412',OleVariant(3),OleVariant(2));
InsertItem(4,'Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122',OleVariant(3),OleVariant(2));
InsertItem(5,'Steven Buchanan¦Sales Manager¦London¦(71) 555-4848',OleVariant(2),OleVariant(2));
InsertItem(6,'Michael Suyama¦Sales Representative¦London¦(71) 555-7773',OleVariant(1),OleVariant(5));
InsertItem(7,'Robert King¦Sales Representative¦Kirkland¦(71) 555-5598',OleVariant(2),OleVariant(2));
InsertItem(8,'Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189',OleVariant(3),OleVariant(2));
InsertItem(9,'Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444',OleVariant(2),OleVariant(5));
ExpandAll();
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownList - multiple columns tree)''';
h := AddItem(OleVariant(100));
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.SpinType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (SpinType)''';
CellEditor[OleVariant(AddItem('(MemoType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.MemoType;
h := AddItem(OleVariant(3));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.CheckListType;
AddItem(1,'Border',OleVariant(1));
AddItem(2,'Single',OleVariant(2));
AddItem(4,'Frame',OleVariant(3));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (CheckListType)''';
h := AddItem('193.226.40.161');
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
Mask := '{0,255}.{0,255}.{0,255}.{0,255}';
EditType := EXG2ANTTLib_TLB.MaskType;
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (MaskType)''';
h := AddItem(OleVariant(65280));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.ColorType;
Mask := '`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0';
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (ColorType)''';
h := AddItem('Tahoma');
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.FontType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (FontType)''';
h := AddItem('gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamY' +
'yIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAw' +
'BUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG' +
'4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABG' +
'QZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyCA' +
'AjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFA' +
'SoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJ' +
'DQNg/p4AAdoC');
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.PictureType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (PictureType)''';
CellEditor[OleVariant(AddItem('(ButtonType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.ButtonType;
h := AddItem(OleVariant(25));
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.ProgressBarType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (ProgressBarType)''';
h := AddItem('Value 1');
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.PickEditType;
AddItem(1,'Value 1',OleVariant(1));
AddItem(2,'Value 2',OleVariant(2));
AddItem(3,'Value 3',OleVariant(3));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (PickEditType)''';
CellEditor[OleVariant(AddItem('(LinkEditType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.LinkEditType;
with CellEditor[OleVariant(AddItem('(UserEditorType)')),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.UserEditorType;
UserEditor('Exontrol.ComboBox','');
with UserEditorObject do
begin
end;
end;
h := AddItem(OleVariant(255));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.ColorListType;
Option[EXG2ANTTLib_TLB.exColorListShowName] := OleVariant(True);
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (ColorListType)''';
CellEditor[OleVariant(AddItem(OleVariant(65280))),OleVariant(0)].EditType := EXG2ANTTLib_TLB.ColorListType;
CellEditor[OleVariant(AddItem('(MemoDropDownType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.MemoDropDownType;
with CellEditor[OleVariant(AddItem(OleVariant(-1))),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.CheckValueType;
Option[EXG2ANTTLib_TLB.exCheckValue2] := OleVariant(1);
end;
h := AddItem(OleVariant(50));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.SliderType;
Option[EXG2ANTTLib_TLB.exSliderWidth] := OleVariant(-60);
Option[EXG2ANTTLib_TLB.exSliderTickFrequency] := OleVariant(10);
Option[EXG2ANTTLib_TLB.exSliderTickStyle] := OleVariant(2);
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (SliderType)''';
h := AddItem(OleVariant(100));
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.CalculatorType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (CalculatorType)''';
EnsureVisibleItem(h);
end;
EndUpdate();
end
|
2236
|
Editors (ImageSize = 16, default)

with G2antt1 do
begin
BeginUpdate();
ImageSize := 16;
Images('gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd' +
'SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt' +
'mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac' +
'vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG' +
'sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn' +
'wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==');
with VisualAppearance do
begin
Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' +
'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' +
'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' +
'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' +
'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' +
'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' +
'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' +
'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' +
'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
end;
(IUnknown(Columns.Add('Editors')) as EXG2ANTTLib_TLB.Column).Def[EXG2ANTTLib_TLB.exCellValueFormat] := OleVariant(1);
with Items do
begin
CellEditor[OleVariant(AddItem('(ReadOnly)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.ReadOnly;
CellEditor[OleVariant(AddItem('(EditType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.EditType;
h := AddItem('Value 1');
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownType;
AddItem(1,'Value 1',OleVariant(1));
AddItem(2,'Value 2',OleVariant(2));
AddItem(3,'Value 3',OleVariant(3));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownType)''';
h := AddItem(OleVariant(1));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
DropDownAutoWidth := EXG2ANTTLib_TLB.exDropDownEditorWidth;
AddItem(1,'Nancy Davolio',OleVariant(1));
AddItem(2,'Andrew Fuller',OleVariant(2));
AddItem(3,'Janet Leverling',OleVariant(3));
AddItem(4,'Peacock Margaret',OleVariant(3));
AddItem(5,'Steven Buchanan',OleVariant(2));
AddItem(6,'Michael Suyama',OleVariant(1));
AddItem(7,'Robert King',OleVariant(2));
AddItem(8,'Laura Callahan',OleVariant(3));
AddItem(9,'Anne Dodsworth',OleVariant(2));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownList - single column list)''';
h := AddItem(OleVariant(1));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
DropDownAutoWidth := EXG2ANTTLib_TLB.exDropDownEditorWidth;
AddItem(1,'Nancy Davolio',OleVariant(1));
AddItem(2,'Andrew Fuller',OleVariant(2));
InsertItem(3,'Janet Leverling',OleVariant(3),OleVariant(2));
InsertItem(4,'Peacock Margaret',OleVariant(3),OleVariant(2));
InsertItem(5,'Steven Buchanan',OleVariant(2),OleVariant(2));
InsertItem(6,'Michael Suyama',OleVariant(1),OleVariant(5));
InsertItem(7,'Robert King',OleVariant(2),OleVariant(2));
InsertItem(8,'Laura Callahan',OleVariant(3),OleVariant(2));
InsertItem(9,'Anne Dodsworth',OleVariant(2),OleVariant(5));
ExpandAll();
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownList - single column tree)''';
h := AddItem(OleVariant(1));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
DropDownAutoWidth := EXG2ANTTLib_TLB.exDropDownEditorWidth;
Option[EXG2ANTTLib_TLB.exDropDownColumnCaption] := 'Name¦Title¦City¦Phone';
Option[EXG2ANTTLib_TLB.exDropDownColumnWidth] := '312¦¦¦96';
AddItem(1,'Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857',OleVariant(1));
AddItem(2,'Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482',OleVariant(2));
AddItem(3,'Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412',OleVariant(3));
AddItem(4,'Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122',OleVariant(3));
AddItem(5,'Steven Buchanan¦Sales Manager¦London¦(71) 555-4848',OleVariant(2));
AddItem(6,'Michael Suyama¦Sales Representative¦London¦(71) 555-7773',OleVariant(1));
AddItem(7,'Robert King¦Sales Representative¦Kirkland¦(71) 555-5598',OleVariant(2));
AddItem(8,'Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189',OleVariant(3));
AddItem(9,'Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444',OleVariant(2));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownList - multiple columns list)''';
h := AddItem(OleVariant(1));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.DropDownListType;
DropDownAutoWidth := EXG2ANTTLib_TLB.exDropDownEditorWidth;
Option[EXG2ANTTLib_TLB.exDropDownColumnCaption] := 'Name¦Title¦City¦Phone';
Option[EXG2ANTTLib_TLB.exDropDownColumnWidth] := '312¦¦¦96';
AddItem(1,'Nancy Davolio¦Sales Representative¦Seattle¦(206) 555-9857',OleVariant(1));
AddItem(2,'Andrew Fuller¦<b>Vice President</b>, Sales¦Tacoma¦(206) 555-9482',OleVariant(2));
InsertItem(3,'Janet Leverling¦Sales Representative¦Kirkland¦(206) 555-3412',OleVariant(3),OleVariant(2));
InsertItem(4,'Peacock Margaret¦Sales Representative¦Redmond¦(206) 555-8122',OleVariant(3),OleVariant(2));
InsertItem(5,'Steven Buchanan¦Sales Manager¦London¦(71) 555-4848',OleVariant(2),OleVariant(2));
InsertItem(6,'Michael Suyama¦Sales Representative¦London¦(71) 555-7773',OleVariant(1),OleVariant(5));
InsertItem(7,'Robert King¦Sales Representative¦Kirkland¦(71) 555-5598',OleVariant(2),OleVariant(2));
InsertItem(8,'Laura Callahan¦Inside Sales Coordinator¦Seattle¦(206) 555-1189',OleVariant(3),OleVariant(2));
InsertItem(9,'Anne Dodsworth¦Sales Representative¦London¦(71) 555-4444',OleVariant(2),OleVariant(5));
ExpandAll();
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (DropDownList - multiple columns tree)''';
h := AddItem(OleVariant(100));
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.SpinType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (SpinType)''';
CellEditor[OleVariant(AddItem('(MemoType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.MemoType;
h := AddItem(OleVariant(3));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.CheckListType;
AddItem(1,'Border',OleVariant(1));
AddItem(2,'Single',OleVariant(2));
AddItem(4,'Frame',OleVariant(3));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (CheckListType)''';
h := AddItem('193.226.40.161');
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
Mask := '{0,255}.{0,255}.{0,255}.{0,255}';
EditType := EXG2ANTTLib_TLB.MaskType;
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (MaskType)''';
h := AddItem(OleVariant(65280));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.ColorType;
Mask := '`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0';
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (ColorType)''';
h := AddItem('Tahoma');
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.FontType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (FontType)''';
h := AddItem('gBHJJGHA5MIwAEIe4AAAFhwbiAliQwig7ixFjBQjRbjhljxwkB7kSFkiQkyblCllSwli7lzFmDQmTbmjlmzwnD7nQBnk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrldr1YhgAEL5AgBhj/AAssMJthABFof4JDhIWCgYKDBATFT8M6hUIFAQAEQCCDwYF/QoWDZCRBgOKgIYHCQXMisKBAEQAAgOBZaSgQhjERANKQiZhIWamY' +
'yIBQ6FzcNKxQLJT4ADA4RjwObAAidBYdHwABQgUxMQYZEI0cD4OgnYKaKyzIRFNQx2YCKoFHScYD0ADXQwUAgwLoLQDqaCWBJoNQ9NBxFJTVQORgiarqSABbamGwtDAw' +
'BUWhQmqYALnOFQvGYPA4m6AwKhkZxKj2PBWC0SZCgmVY6CwIJgieBAniubRKHgaYgiwQwGiCfxGDWbBRmGZYIi2VwGnAexxGUSwUFiaR+hQPbBgOCoLCIHh4DAARCmQG' +
'4AlgNxuhwWgpFAEQUhuOxOk0NrhAaQoBmgPYdFSIZPjYGYbn+HhgEoAA7HMBIOjUM51AoPojHkEwVlET5slgWZtAEUBdjeSoeF6X5/rQRRSi+QB6GychsEAfZshKYABG' +
'QZorlAOgMBqEgAjYHB2jqSoigmYBLk+QZnBqGhggAEwImgbojgoIwSE+MxUHiS4REQCQWluD48B+JJoL+YQikuaI9AALgLmsJQfnSdAvDkCJEhIIIBgOegLEiPBqCyCA' +
'AjcCwgAAIJBhQBQkHGL4gDaNBokkZQMiwUAuioJQiCAQYsHMcwwEIeoigAYIogsGIwFKIYICIWguEoPgQhsawBASGgwCuJwLH8K4LigAIaDwbxMAOKxbisPwfASQATFA' +
'SoagIEYwgcSoKGiAA/mEdIuiGPxCmObIlhMIJNHONxFH8EpPCGeB+noEpBBSSRjCsPZEiyKhgjAH5whSdLEjwDxjC8TxVEMFRzFWJJZBUSI0gQEQLBOM4VHkIg1D0CAJ' +
'DQNg/p4AAdoC');
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.PictureType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (PictureType)''';
CellEditor[OleVariant(AddItem('(ButtonType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.ButtonType;
h := AddItem(OleVariant(25));
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.ProgressBarType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (ProgressBarType)''';
h := AddItem('Value 1');
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.PickEditType;
AddItem(1,'Value 1',OleVariant(1));
AddItem(2,'Value 2',OleVariant(2));
AddItem(3,'Value 3',OleVariant(3));
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (PickEditType)''';
CellEditor[OleVariant(AddItem('(LinkEditType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.LinkEditType;
with CellEditor[OleVariant(AddItem('(UserEditorType)')),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.UserEditorType;
UserEditor('Exontrol.ComboBox','');
with UserEditorObject do
begin
end;
end;
h := AddItem(OleVariant(255));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.ColorListType;
Option[EXG2ANTTLib_TLB.exColorListShowName] := OleVariant(True);
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (ColorListType)''';
CellEditor[OleVariant(AddItem(OleVariant(65280))),OleVariant(0)].EditType := EXG2ANTTLib_TLB.ColorListType;
CellEditor[OleVariant(AddItem('(MemoDropDownType)')),OleVariant(0)].EditType := EXG2ANTTLib_TLB.MemoDropDownType;
with CellEditor[OleVariant(AddItem(OleVariant(-1))),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.CheckValueType;
Option[EXG2ANTTLib_TLB.exCheckValue2] := OleVariant(1);
end;
h := AddItem(OleVariant(50));
with CellEditor[OleVariant(h),OleVariant(0)] do
begin
EditType := EXG2ANTTLib_TLB.SliderType;
Option[EXG2ANTTLib_TLB.exSliderWidth] := OleVariant(-60);
Option[EXG2ANTTLib_TLB.exSliderTickFrequency] := OleVariant(10);
Option[EXG2ANTTLib_TLB.exSliderTickStyle] := OleVariant(2);
end;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (SliderType)''';
h := AddItem(OleVariant(100));
CellEditor[OleVariant(h),OleVariant(0)].EditType := EXG2ANTTLib_TLB.CalculatorType;
FormatCell[OleVariant(h),OleVariant(0)] := 'value + '' (CalculatorType)''';
EnsureVisibleItem(h);
end;
EndUpdate();
end
|
2235
|
Is it possible to limit the overlaid to two rows only

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
with Chart do
begin
NonworkingDays := 0;
FirstVisibleDate := '9/17/2006';
PaneWidth[False] := 64;
LevelCount := 2;
Bars.Item['Task'].OverlaidType := EXG2ANTTLib_TLB.exOverlaidBarsCascade;
end;
with Items do
begin
h1 := AddItem('Task');
AddBar(h1,'Task','9/26/2006','10/6/2006','K1','K1');
AddBar(h1,'Task','10/5/2006','10/10/2006','K3','K2');
AddBar(h1,'Task','9/21/2006','9/27/2006','T1','T');
ItemBar[0,'<T*>',EXG2ANTTLib_TLB.exBarColor] := OleVariant(65280);
ItemBar[0,'<K*>',EXG2ANTTLib_TLB.exBarOverlaidKey] := 'Level0';
ItemBar[0,'<T*>',EXG2ANTTLib_TLB.exBarOverlaidKey] := 'Level1';
ItemMaxHeight[h1] := 26;
end;
EndUpdate();
end
|
2234
|
Is it possible to sort the bars

with G2antt1 do
begin
BeginUpdate();
AntiAliasing := True;
(IUnknown(Columns.Add('Task')) as EXG2ANTTLib_TLB.Column).AllowSort := False;
with (IUnknown(Columns.Add('Name')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(0);
SortType := EXG2ANTTLib_TLB.SortString;
Visible := False;
end;
with Chart do
begin
FirstVisibleDate := '12/31/2000';
PaneWidth[False] := 48;
LevelCount := 2;
Bars.Item['Task'].Pattern := EXG2ANTTLib_TLB.exPatternSolid;
Bars.Copy('Task','Red').Color := $ff;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingDaysColor := $e0e0e0;
LinksStyle := EXG2ANTTLib_TLB.exLinkSolid;
end;
with Items do
begin
AllowCellValueToItemBar := True;
h1 := AddItem('Task 1');
AddBar(h1,'Task','1/2/2001','1/4/2001',Null,Null);
h2 := AddItem('Task 2');
AddBar(h2,'Red','1/2/2001','1/5/2001',Null,Null);
h3 := AddItem('Task 3');
AddBar(h3,'Task','1/2/2001','1/5/2001',Null,Null);
h4 := AddItem('Task 4');
AddBar(h4,'Red','1/2/2001','1/5/2001',Null,Null);
h5 := AddItem('Task 5');
AddBar(h5,'Red','1/2/2001','1/5/2001',Null,Null);
AddLink('L1',h1,'',h3,'');
AddLink('L2',h2,'',h4,'');
AddLink('L3',h3,'',h4,'');
AddLink('L4',h4,'',h5,'');
SchedulePDM(0,'');
end;
Chart.ShowLinks := EXG2ANTTLib_TLB.exShowExtendedLinks;
Columns.Item['Name'].SortOrder := EXG2ANTTLib_TLB.SortAscending;
EndUpdate();
end
|
2233
|
Re-order the cell's caption, icons and images/pictures

with G2antt1 do
begin
BeginUpdate();
Images('gBJJgBAICAADAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEahkZAIAEEbjMjlErlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql' +
'Vq1XrFZrVbrlTiFdib/sNjr9gs1nldlrlqtFtt0stlguNvulyh91ud1vVVvNuvt7wFHr9/vl3luEwOJouIq+Dw2KyGRyWTymVy2XzGZzUuiw+lmej0gkUaksljaAnmDc' +
'D/cEbf7w1+ufD/fEbeB028bYAO3enB6AB++4EoA4A4sb4vHjXJ4nG5vKAHA4ca6XBjTAD/Y2x/eB/jcB');
with (IUnknown(Columns.Add('ToLeft')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
end;
with (IUnknown(Columns.Add('ToRight')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
Def[EXG2ANTTLib_TLB.exCellDrawPartsOrder] := 'caption,picture,icons,icon,check';
end;
DefaultItemHeight := 32;
DrawGridLines := EXG2ANTTLib_TLB.exVLines;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
with Items do
begin
h := AddItem('Caption');
CellImage[OleVariant(h),OleVariant(0)] := 2;
CellImages[OleVariant(h),OleVariant(0)] := '1,2';
CellPicture[OleVariant(h),OleVariant(0)] := (IUnknown(G2antt1.ExecuteTemplate('loadpicture(`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' +
'Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)')) as _TLB.Object);
CellValue[OleVariant(h),OleVariant(1)] := CellValue[OleVariant(h),OleVariant(0)];
CellHAlignment[OleVariant(h),OleVariant(1)] := EXG2ANTTLib_TLB.RightAlignment;
CellImage[OleVariant(h),OleVariant(1)] := CellImage[OleVariant(h),OleVariant(0)];
CellImages[OleVariant(h),OleVariant(1)] := '2,1';
CellPicture[OleVariant(h),OleVariant(1)] := (IUnknown(CellPicture[OleVariant(h),OleVariant(0)]) as _TLB.Object);
h := AddItem('<b>HTML</b> <off 4>Caption');
CellValueFormat[OleVariant(h),OleVariant(0)] := EXG2ANTTLib_TLB.exHTML;
CellImage[OleVariant(h),OleVariant(0)] := 2;
CellImages[OleVariant(h),OleVariant(0)] := '1,2';
CellPicture[OleVariant(h),OleVariant(0)] := (IUnknown(G2antt1.ExecuteTemplate('loadpicture(`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' +
'Gw+wbHkkTpEw7gpFgIAA2sABJEUThEK4QhgIJAQ==`)')) as _TLB.Object);
CellValue[OleVariant(h),OleVariant(1)] := CellValue[OleVariant(h),OleVariant(0)];
CellValueFormat[OleVariant(h),OleVariant(1)] := EXG2ANTTLib_TLB.exHTML;
CellHAlignment[OleVariant(h),OleVariant(1)] := EXG2ANTTLib_TLB.RightAlignment;
CellImage[OleVariant(h),OleVariant(1)] := CellImage[OleVariant(h),OleVariant(0)];
CellImages[OleVariant(h),OleVariant(1)] := '2,1';
CellPicture[OleVariant(h),OleVariant(1)] := (IUnknown(CellPicture[OleVariant(h),OleVariant(0)]) as _TLB.Object);
end;
EndUpdate();
end
|
2232
|
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddColumn event - Fired after a new column has been added.
procedure TForm1.G2antt1AddColumn(ASender: TObject; Column : IColumn);
begin
// Column.Def(48) = 2
// Column.Def(49) = 2
end;
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
Items.AddBar(Item,'Task','1/2/2022','1/8/2022',Null,'<img>1</img>');
end
end;
with G2antt1 do
begin
BeginUpdate();
ImageSize := 32;
DefaultItemHeight := 36;
HeaderHeight := DefaultItemHeight;
SortBarHeight := DefaultItemHeight;
Font.Size := 16;
FilterBarFont.Size := G2antt1.Font.Size;
ToolTipFont.Size := G2antt1.Font.Size;
Indent := 26;
with Chart do
begin
FirstVisibleDate := '1/1/2022';
Bars.Item['Task'].Height := 22;
end;
Images('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');
with VisualAppearance do
begin
Add(1,'gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6' +
'CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EM' +
'RwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxR' +
'DWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYF' +
'oFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4Uk' +
'mCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqAo' +
'chqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0' +
'ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8' +
'CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2U' +
'gJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==');
Add(2,'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' +
'RBCCQAgQEA==');
Add(3,'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');
Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' +
'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' +
'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' +
'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' +
'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' +
'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' +
'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' +
'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' +
'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
end;
BackColorHeader := $4c6c6c6;
SelBackColor := $4000000;
SelForeColor := RGB(0,0,1);
CheckImage[EXG2ANTTLib_TLB.Unchecked] := 16777216;
CheckImage[EXG2ANTTLib_TLB.Checked] := 33554432;
CheckImage[EXG2ANTTLib_TLB.PartialChecked] := 50331648;
Background[EXG2ANTTLib_TLB.exSelBackColorFilter] := SelBackColor;
Background[EXG2ANTTLib_TLB.exSelForeColorFilter] := SelForeColor;
Background[EXG2ANTTLib_TLB.exBackColorFilter] := BackColor;
Background[EXG2ANTTLib_TLB.exForeColorFilter] := ForeColor;
Background[EXG2ANTTLib_TLB.exCursorHoverColumn] := $ffffffff;
Background[EXG2ANTTLib_TLB.exHeaderFilterBarButton] := $4000000;
Background[EXG2ANTTLib_TLB.exHeaderFilterBarActive] := $4010101;
Background[EXG2ANTTLib_TLB.exFooterFilterBarButton] := $40000ff;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
ShowFocusRect := False;
SortBarVisible := True;
AllowGroupBy := True;
BackColorSortBar := BackColor;
BackColorLevelHeader := BackColor;
FilterBarDropDownHeight := 1;
with (IUnknown(Columns.Add('Check')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
Width := 128;
DisplayFilterButton := True;
FilterList := EXG2ANTTLib_TLB.exShowCheckBox;
end;
with (IUnknown(Columns.Add('Pos')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 pos ``';
AllowSort := False;
Width := 48;
AllowSizing := False;
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
HeaderAlignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
with (IUnknown(Columns.Add('Image')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXG2ANTTLib_TLB.exShowExclude) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox) Or Integer(EXG2ANTTLib_TLB.exSortItemsAsc);
FilterType := EXG2ANTTLib_TLB.exImage;
DisplayExpandButton := True;
ExpandColumns := '1,2,3';
Width := 128;
HeaderImage := 1;
end;
with (IUnknown(Columns.Add('Images')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
Width := 196;
HTMLCaption := '<img>1</img><img>2</img><img>3</img> Images';
end;
Columns.Item['Pos'].Position := 3;
with Items do
begin
hR := AddItem('Root');
ItemDivider[hR] := 0;
ItemDividerLine[hR] := EXG2ANTTLib_TLB.EmptyLine;
h := InsertItem(hR,Null,'Child A');
CellImage[OleVariant(h),OleVariant(2)] := 1;
CellImages[OleVariant(h),OleVariant(3)] := '1,2,3';
CellValue[OleVariant(h),OleVariant(3)] := '123';
h := InsertItem(hR,Null,'Child B');
CellState[OleVariant(h),OleVariant(0)] := 1;
CellImage[OleVariant(h),OleVariant(2)] := 3;
CellImages[OleVariant(h),OleVariant(3)] := '2,3,1';
CellValue[OleVariant(h),OleVariant(3)] := '231';
SelectItem[h] := True;
h := InsertItem(hR,Null,'Child C');
CellImage[OleVariant(h),OleVariant(2)] := 2;
CellState[OleVariant(h),OleVariant(3)] := 1;
CellValue[OleVariant(h),OleVariant(3)] := '312';
CellImages[OleVariant(h),OleVariant(3)] := '3,1,2';
ExpandItem[hR] := True;
end;
EndUpdate();
end
|
2231
|
ImageSize property on 16 (default) (specifies the size of control' icons/images/check-boxes/radio-buttons)

// AddColumn event - Fired after a new column has been added.
procedure TForm1.G2antt1AddColumn(ASender: TObject; Column : IColumn);
begin
// Column.Def(48) = 2
// Column.Def(49) = 2
end;
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
Items.AddBar(Item,'Task','1/2/2022','1/8/2022',Null,'<img>1</img>');
end
end;
with G2antt1 do
begin
BeginUpdate();
Chart.FirstVisibleDate := '1/1/2022';
ImageSize := 16;
Images('gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqd' +
'SqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVtt' +
'mp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8ac' +
'vQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTG' +
'sbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPn' +
'wD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==');
with VisualAppearance do
begin
Add(4,'gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL' +
'UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBU' +
'rGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3' +
'NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsY' +
'YDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVm' +
'WCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoVo' +
'WiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiS' +
'e41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhF' +
'CcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==');
end;
BackColorHeader := $4c6c6c6;
SelBackColor := $4000000;
SelForeColor := RGB(0,0,1);
Background[EXG2ANTTLib_TLB.exSelBackColorFilter] := SelBackColor;
Background[EXG2ANTTLib_TLB.exSelForeColorFilter] := SelForeColor;
Background[EXG2ANTTLib_TLB.exBackColorFilter] := BackColor;
Background[EXG2ANTTLib_TLB.exForeColorFilter] := ForeColor;
Background[EXG2ANTTLib_TLB.exCursorHoverColumn] := $ffffffff;
Background[EXG2ANTTLib_TLB.exHeaderFilterBarButton] := $4000000;
Background[EXG2ANTTLib_TLB.exHeaderFilterBarActive] := $4010101;
Background[EXG2ANTTLib_TLB.exFooterFilterBarButton] := $40000ff;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
ShowFocusRect := False;
SortBarVisible := True;
AllowGroupBy := True;
BackColorSortBar := BackColor;
BackColorLevelHeader := BackColor;
FilterBarDropDownHeight := 1;
with (IUnknown(Columns.Add('Check')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
PartialCheck := True;
Width := 128;
DisplayFilterButton := True;
FilterList := EXG2ANTTLib_TLB.exShowCheckBox;
end;
with (IUnknown(Columns.Add('Pos')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 pos ``';
AllowSort := False;
Width := 48;
AllowSizing := False;
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
HeaderAlignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
with (IUnknown(Columns.Add('Image')) as EXG2ANTTLib_TLB.Column) do
begin
DisplayFilterButton := True;
FilterList := Integer(EXG2ANTTLib_TLB.exShowExclude) Or Integer(EXG2ANTTLib_TLB.exShowCheckBox) Or Integer(EXG2ANTTLib_TLB.exSortItemsAsc);
FilterType := EXG2ANTTLib_TLB.exImage;
DisplayExpandButton := True;
ExpandColumns := '1,2,3';
Width := 128;
HeaderImage := 1;
end;
with (IUnknown(Columns.Add('Images')) as EXG2ANTTLib_TLB.Column) do
begin
Def[EXG2ANTTLib_TLB.exCellHasCheckBox] := OleVariant(True);
Width := 196;
HTMLCaption := '<img>1</img><img>2</img><img>3</img> Images';
end;
Columns.Item['Pos'].Position := 3;
with Items do
begin
hR := AddItem('Root');
ItemDivider[hR] := 0;
ItemDividerLine[hR] := EXG2ANTTLib_TLB.EmptyLine;
h := InsertItem(hR,Null,'Child A');
CellImage[OleVariant(h),OleVariant(2)] := 1;
CellImages[OleVariant(h),OleVariant(3)] := '1,2,3';
CellValue[OleVariant(h),OleVariant(3)] := '123';
h := InsertItem(hR,Null,'Child B');
CellState[OleVariant(h),OleVariant(0)] := 1;
CellImage[OleVariant(h),OleVariant(2)] := 3;
CellImages[OleVariant(h),OleVariant(3)] := '2,3,1';
CellValue[OleVariant(h),OleVariant(3)] := '231';
SelectItem[h] := True;
h := InsertItem(hR,Null,'Child C');
CellImage[OleVariant(h),OleVariant(2)] := 2;
CellState[OleVariant(h),OleVariant(3)] := 1;
CellValue[OleVariant(h),OleVariant(3)] := '312';
CellImages[OleVariant(h),OleVariant(3)] := '3,1,2';
ExpandItem[hR] := True;
end;
EndUpdate();
end
|
2230
|
How do I clip/hide/align the bar's caption/text based on the bar's size/width/length

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Clip');
ScrollBySingleLine := True;
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
with Chart do
begin
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
DrawGridLines := EXG2ANTTLib_TLB.exRowLines;
FirstVisibleDate := '12/23/2000';
LevelCount := 2;
PaneWidth[False] := 216;
with Bars.Item['Task'] do
begin
Pattern := EXG2ANTTLib_TLB.exPatternBox;
Color := $a4a4a4;
StartColor := $f0f0f0;
EndColor := StartColor;
OverlaidType := Integer(EXG2ANTTLib_TLB.exOverlaidBarsIncludeCaption) Or Integer(EXG2ANTTLib_TLB.exOverlaidBarsStackAutoArrange) Or Integer(EXG2ANTTLib_TLB.exOverlaidBarsStack);
Height := 15;
end;
MinUnitWidth := UnitWidth;
end;
with Items do
begin
h := AddItem('no clip, (0-2)');
AddBar(h,'Task','1/2/2001','1/4/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, right(<b>2</b>)';
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(2);
AddBar(h,'Task','1/2/2001','1/4/2001','K2',Null);
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, center(<b>1</b>)';
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(1);
AddBar(h,'Task','1/2/2001','1/4/2001','K3',Null);
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, left(<b>0</b>)';
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(0);
h := AddItem('clip, inside (3-5)');
AddBar(h,'Task','12/28/2000','1/8/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaption] := 'clip, inside, right(<b>5</b>)';
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(5);
AddBar(h,'Task','12/28/2000','1/8/2001','K2',Null);
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaption] := 'clip, inside, center(<b>4</b>)';
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(4);
AddBar(h,'Task','12/28/2000','1/8/2001','K3',Null);
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaption] := 'clip, inside, left(<b>3</b>)';
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(3);
h := AddItem('hide on min width, clip if not fit, inside (6-8)');
AddBar(h,'Task','12/26/2000','1/10/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaption] := 'hide on min width, clip if not fit, inside, right(<b>8</b>)';
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(8);
AddBar(h,'Task','12/26/2000','1/10/2001','K2',Null);
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaption] := 'hide on min width, clip if not fit, inside, center(<b>7</b>)';
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(7);
AddBar(h,'Task','12/26/2000','1/10/2001','K3',Null);
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaption] := 'hide on min width, clip if not fit, inside, left(<b>6</b>)';
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(6);
h := AddItem('hide if not fit, no clip, inside (9-11)');
AddBar(h,'Task','12/28/2000','1/8/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaption] := 'hide if not fit, no clip, inside, right(<b>11</b>)';
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(11);
AddBar(h,'Task','12/28/2000','1/8/2001','K2',Null);
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaption] := 'hide if not fit, no clip, center(<b>10</b>)';
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(10);
AddBar(h,'Task','12/28/2000','1/8/2001','K3',Null);
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaption] := 'hide if not fit, no clip, inside, left(<b>9</b>)';
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(9);
h := AddItem('no clip, inside, outside (12-14)');
AddBar(h,'Task','12/28/2000','1/8/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, inside, outside, right(<b>14</b>)';
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(14);
AddBar(h,'Task','12/28/2000','1/8/2001','K2',Null);
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, inside, outside, center(<b>13</b>)';
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(13);
AddBar(h,'Task','12/28/2000','1/8/2001','K3',Null);
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, inside, outside, left(<b>12</b>)';
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(12);
h := AddItem('no clip, outside (16-18)');
AddBar(h,'Task','12/30/2000','1/6/2001','K1',Null);
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, outside, right(<b>18</b>)';
ItemBar[h,'K1',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(18);
AddBar(h,'Task','12/30/2000','1/6/2001','K2',Null);
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, outside, center(<b>17</b>)';
ItemBar[h,'K2',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(17);
AddBar(h,'Task','12/30/2000','1/6/2001','K3',Null);
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaption] := 'no clip, outside, left(<b>16</b>)';
ItemBar[h,'K3',EXG2ANTTLib_TLB.exBarExtraCaptionHAlign] := OleVariant(16);
end;
EndUpdate();
end
|
2229
|
The user clicks the drop-down filter, select a value and the control's list filters for the selected item(s). Is there a way for when the user then goes to the next column to add another filter and the drop down arrow is clicked for the list of values they can filter by to be limited to what is being displayed in the list due to the first filter they set

// AddColumn event - Fired after a new column has been added.
procedure TForm1.G2antt1AddColumn(ASender: TObject; Column : IColumn);
begin
with G2antt1 do
begin
with Column do
begin
end;
end
end;
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
with Items do
begin
AddBar(Item,'Task',CellValue[OleVariant(Item),OleVariant(2)],CellValue[OleVariant(Item),OleVariant(4)],Null,Null);
end;
end
end;
with G2antt1 do
begin
BeginUpdate();
ColumnAutoResize := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
with Chart do
begin
FirstVisibleDate := '8/4/1994';
LevelCount := 2;
PaneWidth[False] := 290;
end;
Items.AllowCellValueToItemBar := True;
Columns.Item[OleVariant(2)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(1);
Columns.Item[OleVariant(4)].Def[EXG2ANTTLib_TLB.exCellValueToItemBarProperty] := OleVariant(2);
Columns.Item['ShipVia'].Position := 2;
EndUpdate();
end
|
2228
|
Does the control display images from database (DAO)

with G2antt1 do
begin
BeginUpdate();
ColumnAutoResize := False;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
DefaultItemHeight := 48;
with (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('DAO.DBEngine.36'))) as DAO_TLB.PrivDBEngine) do
begin
rs := OpenDatabase('C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.mdb',Null,Null,Null).OpenRecordset('Employees',Null,Null,Null);
end;
DataSource := (IUnknown(rs) as DAO_TLB.Recordset);
with Columns.Item['Photo'] do
begin
Position := 1;
Width := 128;
end;
EndUpdate();
end
|
2227
|
Does the control display images from database (ADO)

with G2antt1 do
begin
BeginUpdate();
ColumnAutoResize := False;
DrawGridLines := EXG2ANTTLib_TLB.exAllLines;
GridLineStyle := EXG2ANTTLib_TLB.exGridLinesGeometric;
DefaultItemHeight := 48;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADODB.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Employees','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',3,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
with Columns.Item['Photo'] do
begin
Position := 1;
Width := 128;
end;
EndUpdate();
end
|
2226
|
Is it possible to set from code, a column sort without being inserted in the sortbar

with G2antt1 do
begin
BeginUpdate();
ColumnAutoResize := False;
rs := (IUnknown(ComObj.CreateComObject(ComObj.ProgIDToClassID('ADOR.Recordset'))) as ADODB_TLB.Recordset);
with rs do
begin
Open('Orders','Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExG2antt\Sample\Access\misc.accdb',1,3,Null);
end;
DataSource := (IUnknown(rs) as ADODB_TLB.Recordset);
SortBarVisible := True;
Layout := 'singlesort="C1:1"';
EndUpdate();
end
|
2225
|
Is it possible to view all events the control fires
// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
procedure TForm1.G2antt1BeforeExpandItem(ASender: TObject; Item : HITEM;var Cancel : OleVariant);
begin
with G2antt1 do
begin
Refresh();
end
end;
// Event event - Notifies the application once the control fires an event.
procedure TForm1.G2antt1Event(ASender: TObject; EventID : Integer);
begin
with G2antt1 do
begin
OutputDebugString( EventParam[-2] );
end
end;
with G2antt1 do
begin
BeginUpdate();
Indent := 16;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
HasLines := EXG2ANTTLib_TLB.exSolidLine;
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
Columns.Add('Tasks');
with Chart do
begin
FirstVisibleDate := '9/20/2006';
ShowCollapsedBars := True;
LevelCount := 2;
PaneWidth[False] := 128;
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
with Bars.Item['Task'] do
begin
OverlaidType := EXG2ANTTLib_TLB.exOverlaidBarsStack;
Color := $0;
StartColor := $c4c4c4;
EndColor := $c4c4c4;
Pattern := EXG2ANTTLib_TLB.exPatternBox;
end;
end;
with Items do
begin
h := AddItem('Project 1');
h1 := InsertItem(h,Null,'Resources');
AddBar(h1,'Task','9/21/2006','9/25/2006','A',Null);
AddBar(h1,'Task','9/24/2006','9/28/2006','B',Null);
AddBar(h1,'Task','9/27/2006','9/29/2006','C',Null);
h := AddItem('Project 2');
h1 := InsertItem(h,Null,'Resources');
AddBar(h1,'Task','9/21/2006','9/25/2006','A',Null);
AddBar(h1,'Task','9/24/2006','9/28/2006','B',Null);
AddBar(h1,'Task','9/27/2006','9/29/2006','C',Null);
ExpandItem[h] := True;
end;
EndUpdate();
end
|
2224
|
How can I find all occurences of the giving value, within a column
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Default');
with (IUnknown(Columns.Add('Pos')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 pos ''A-Z''';
Position := 0;
AllowSizing := False;
Width := 32;
Enabled := False;
end;
with (IUnknown(Columns.Add('Index')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '0 index ''''';
AllowSizing := False;
Width := 32;
Enabled := False;
end;
with Items do
begin
AddItem('A');
AddItem('A');
AddItem('A');
OutputDebugString( CellCaption[OleVariant(FindItem['A',OleVariant(0),OleVariant(0)]),OleVariant(1)] );
OutputDebugString( CellCaption[OleVariant(FindItem['A',OleVariant(0),OleVariant(1)]),OleVariant(1)] );
OutputDebugString( CellCaption[OleVariant(FindItem['A',OleVariant(0),OleVariant(2)]),OleVariant(1)] );
end;
EndUpdate();
end
|
2223
|
How can I specify the bar's legend within the control's histogram (sample 2, expression)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Machines');
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
HeaderVisible := EXG2ANTTLib_TLB.exHeaderVisibleExtendLevels;
with Chart do
begin
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
PaneWidth[False] := 128;
FirstVisibleDate := '1/1/2001';
LevelCount := 2;
with Bars.Item['Task'] do
begin
Pattern := EXG2ANTTLib_TLB.exPatternSolid;
Def[EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
OverlaidType := EXG2ANTTLib_TLB.exOverlaidBarsCascade;
HistogramPattern := Pattern;
HistogramType := EXG2ANTTLib_TLB.exHistCumulative;
HistogramCumulativeOriginalColorBars := EXG2ANTTLib_TLB.exKeepOriginalColor;
HistogramItems := -4;
HistogramRulerLinesColor := $666666;
Def[EXG2ANTTLib_TLB.exBarToolTip] := '<%=%3%> <fgcolor 666666><font ;6><off 4><%=%C0%>';
Def[EXG2ANTTLib_TLB.exBarHistLegend] := '<fgcolor=666666><%=lower(%3)%>';
end;
HistogramHeight := 64;
HistogramVisible := True;
end;
with Items do
begin
h := AddItem('Machine 1');
AddBar(h,'Task','1/2/2001','1/9/2001',OleVariant(1),'Bill');
AddBar(h,'Task','1/3/2001','1/10/2001',OleVariant(2),'Laura');
ItemBar[h,OleVariant(2),EXG2ANTTLib_TLB.exBarColor] := OleVariant(16776960);
h := AddItem('Machine 2');
AddBar(h,'Task','1/12/2001','1/19/2001',OleVariant(3),'Bill');
AddBar(h,'Task','1/10/2001','1/13/2001',OleVariant(4),'Laura');
AddBar(h,'Task','1/10/2001','1/14/2001',OleVariant(5),'Bill');
ItemBar[h,OleVariant(4),EXG2ANTTLib_TLB.exBarColor] := OleVariant(16776960);
AddBar(AddItem('Machine 3'),'Task','1/2/2001','1/9/2001',OleVariant(6),'Bill');
end;
EndUpdate();
end
|
2222
|
How can I specify the bar's legend within the control's histogram (sample 1)

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Machines');
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
HeaderVisible := EXG2ANTTLib_TLB.exHeaderVisibleExtendLevels;
with Chart do
begin
DrawGridLines := EXG2ANTTLib_TLB.exHLines;
PaneWidth[False] := 128;
FirstVisibleDate := '1/1/2001';
LevelCount := 2;
with Bars.Item['Task'] do
begin
Pattern := EXG2ANTTLib_TLB.exPatternSolid;
Def[EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
OverlaidType := EXG2ANTTLib_TLB.exOverlaidBarsCascade;
HistogramPattern := Pattern;
HistogramType := EXG2ANTTLib_TLB.exHistCumulative;
HistogramCumulativeOriginalColorBars := EXG2ANTTLib_TLB.exKeepOriginalColor;
HistogramItems := -4;
Def[EXG2ANTTLib_TLB.exBarCaption] := 'Bill';
Def[EXG2ANTTLib_TLB.exBarHistLegend] := 'B(ill)';
end;
HistogramHeight := 64;
HistogramVisible := True;
end;
with Items do
begin
h := AddItem('Machine 1');
AddBar(h,'Task','1/2/2001','1/9/2001',OleVariant(1),Null);
AddBar(h,'Task','1/3/2001','1/10/2001',OleVariant(2),'Laura');
ItemBar[h,OleVariant(2),EXG2ANTTLib_TLB.exBarColor] := OleVariant(16776960);
ItemBar[h,OleVariant(2),EXG2ANTTLib_TLB.exBarHistLegend] := 'L(aura)';
h := AddItem('Machine 2');
AddBar(h,'Task','1/12/2001','1/19/2001',OleVariant(3),Null);
AddBar(h,'Task','1/10/2001','1/13/2001',OleVariant(4),'Laura');
AddBar(h,'Task','1/10/2001','1/14/2001',OleVariant(5),Null);
ItemBar[h,OleVariant(4),EXG2ANTTLib_TLB.exBarColor] := OleVariant(16776960);
ItemBar[h,OleVariant(4),EXG2ANTTLib_TLB.exBarHistLegend] := 'L(aura)';
AddBar(AddItem('Machine 3'),'Task','1/2/2001','1/9/2001',OleVariant(6),Null);
end;
EndUpdate();
end
|
2221
|
When I drag a bar and I drag it over other items, but just release it on one of the items (last item), the BarParentChange event is triggered for every item. I need it just when I drop it (release left mouse). How can I do this
// BarParentChange event - Occurs just before moving a bar from current item to another item.
procedure TForm1.G2antt1BarParentChange(ASender: TObject; Item : HITEM;Key : OleVariant;NewItem : HITEM;var Cancel : WordBool);
begin
with G2antt1 do
begin
OutputDebugString( 'Hover Over Item: ' );
OutputDebugString( Items.CellCaption[OleVariant(NewItem),OleVariant(0)] );
Cancel := Items.ItemData[NewItem];
end
end;
// ChartEndChanging event - Occurs after the chart has been changed.
procedure TForm1.G2antt1ChartEndChanging(ASender: TObject; Operation : BarOperationEnum);
begin
with G2antt1 do
begin
OutputDebugString( 'ChartEndChanging ' );
OutputDebugString( Operation );
end
end;
// ChartStartChanging event - Occurs when the chart is about to be changed.
procedure TForm1.G2antt1ChartStartChanging(ASender: TObject; Operation : BarOperationEnum);
begin
with G2antt1 do
begin
OutputDebugString( 'ChartStartChanging ' );
OutputDebugString( Operation );
end
end;
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '1/1/2001';
PaneWidth[False] := 48;
AllowLinkBars := False;
Bars.Item['Task'].OverlaidType := Integer(EXG2ANTTLib_TLB.exOverlaidBarsTransparent) Or Integer(EXG2ANTTLib_TLB.exOverlaidBarsOffset);
end;
Columns.Add('Column');
with Items do
begin
h := AddItem('Item 1');
EnableItem[h] := False;
ItemData[h] := OleVariant(-1);
h := AddItem('Item 2');
ItemData[h] := OleVariant(0);
AddBar(h,'Task','1/5/2001','1/7/2001','B',Null);
ItemBar[h,'B',EXG2ANTTLib_TLB.exBarCanMoveToAnother] := OleVariant(True);
ItemData[AddItem('Item 3')] := OleVariant(0);
ItemData[AddItem('Item 4')] := OleVariant(0);
end;
EndUpdate();
end
|
2220
|
Hide non-working days, Hide non-working hours

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '7/29/2022';
Label[EXG2ANTTLib_TLB.exHour] := '<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, ''<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <' +
'%yyyy%> <%h%> <%AM/PM%><||><||>65536';
PaneWidth[False] := 0;
LevelCount := 2;
UnitWidth := 12;
NonworkingDaysColor := $333333;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingHoursColor := $bbbbbb;
NonworkingHoursPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
with Level[0] do
begin
Label := '<%dddd%>';
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
Level[1].Label := OleVariant(65536);
UnitScale := EXG2ANTTLib_TLB.exHour;
NonworkingHours := 16773375;
ShowNonworkingUnits := False;
ShowNonworkingDates := False;
ShowNonworkingHours := False;
end;
EndUpdate();
end
|
2219
|
Show non-working days pattern, Hide non-working hours

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '7/29/2022';
Label[EXG2ANTTLib_TLB.exHour] := '<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, ''<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <' +
'%yyyy%> <%h%> <%AM/PM%><||><||>65536';
PaneWidth[False] := 0;
LevelCount := 2;
UnitWidth := 12;
NonworkingDaysColor := $333333;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingHoursColor := $bbbbbb;
NonworkingHoursPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
with Level[0] do
begin
Label := '<%dddd%>';
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
Level[1].Label := OleVariant(65536);
UnitScale := EXG2ANTTLib_TLB.exHour;
NonworkingHours := 16773375;
ShowNonworkingUnits := False;
ShowNonworkingDates := True;
ShowNonworkingHours := False;
end;
EndUpdate();
end
|
2218
|
Hide non-working days, Show non-working hours pattern

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '7/29/2022';
Label[EXG2ANTTLib_TLB.exHour] := '<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, ''<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <' +
'%yyyy%> <%h%> <%AM/PM%><||><||>65536';
PaneWidth[False] := 0;
LevelCount := 2;
UnitWidth := 12;
NonworkingDaysColor := $333333;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingHoursColor := $bbbbbb;
NonworkingHoursPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
with Level[0] do
begin
Label := '<%dddd%>';
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
Level[1].Label := OleVariant(65536);
UnitScale := EXG2ANTTLib_TLB.exHour;
NonworkingHours := 16773375;
ShowNonworkingUnits := False;
ShowNonworkingDates := False;
ShowNonworkingHours := True;
end;
EndUpdate();
end
|
2217
|
Hide non-working days pattern, Show non-working hours pattern

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '7/29/2022';
Label[EXG2ANTTLib_TLB.exHour] := '<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, ''<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <' +
'%yyyy%> <%h%> <%AM/PM%><||><||>65536';
PaneWidth[False] := 0;
LevelCount := 2;
UnitWidth := 12;
NonworkingDaysColor := $333333;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingHoursColor := $bbbbbb;
NonworkingHoursPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
with Level[0] do
begin
Label := '<%dddd%>';
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
Level[1].Label := OleVariant(65536);
UnitScale := EXG2ANTTLib_TLB.exHour;
NonworkingHours := 16773375;
ShowNonworkingUnits := True;
ShowNonworkingDates := False;
ShowNonworkingHours := True;
end;
EndUpdate();
end
|
2216
|
Hide non-working days pattern, Hide non-working hours pattern

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '7/29/2022';
Label[EXG2ANTTLib_TLB.exHour] := '<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, ''<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <' +
'%yyyy%> <%h%> <%AM/PM%><||><||>65536';
PaneWidth[False] := 0;
LevelCount := 2;
UnitWidth := 12;
NonworkingDaysColor := $333333;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingHoursColor := $bbbbbb;
NonworkingHoursPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
with Level[0] do
begin
Label := '<%dddd%>';
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
Level[1].Label := OleVariant(65536);
UnitScale := EXG2ANTTLib_TLB.exHour;
NonworkingHours := 16773375;
ShowNonworkingUnits := True;
ShowNonworkingDates := False;
ShowNonworkingHours := False;
end;
EndUpdate();
end
|
2215
|
Show non-working days pattern, Hide non-working hours pattern

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '7/29/2022';
Label[EXG2ANTTLib_TLB.exHour] := '<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, ''<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <' +
'%yyyy%> <%h%> <%AM/PM%><||><||>65536';
PaneWidth[False] := 0;
LevelCount := 2;
UnitWidth := 12;
NonworkingDaysColor := $333333;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingHoursColor := $bbbbbb;
NonworkingHoursPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
with Level[0] do
begin
Label := '<%dddd%>';
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
Level[1].Label := OleVariant(65536);
UnitScale := EXG2ANTTLib_TLB.exHour;
NonworkingHours := 16773375;
ShowNonworkingUnits := True;
ShowNonworkingDates := True;
ShowNonworkingHours := False;
end;
EndUpdate();
end
|
2214
|
Show non-working days pattern, Show non-working hours pattern

with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
FirstVisibleDate := '7/29/2022';
Label[EXG2ANTTLib_TLB.exHour] := '<font ;6><%h%><|><font ;6><%hh%><|><%h%> <%AM/PM%><|><%d3%>, <%m3%> <%d%>, ''<%yy%> <%h%> <%AM/PM%><|><%dddd%>, <%mmmm%> <%d%>, <' +
'%yyyy%> <%h%> <%AM/PM%><||><||>65536';
PaneWidth[False] := 0;
LevelCount := 2;
UnitWidth := 12;
NonworkingDaysColor := $333333;
NonworkingDaysPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
NonworkingHoursColor := $bbbbbb;
NonworkingHoursPattern := EXG2ANTTLib_TLB.exPatternBDiagonal;
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
with Level[0] do
begin
Label := '<%dddd%>';
Alignment := EXG2ANTTLib_TLB.CenterAlignment;
end;
Level[1].Label := OleVariant(65536);
UnitScale := EXG2ANTTLib_TLB.exHour;
NonworkingHours := 16773375;
ShowNonworkingUnits := True;
ShowNonworkingDates := True;
ShowNonworkingHours := True;
end;
EndUpdate();
end
|
2213
|
The chart display no labels (empty header) when the unit's width is too small. What can I do to change this behavior

with G2antt1 do
begin
with Chart do
begin
Label[EXG2ANTTLib_TLB.exDay] := '<font ;6><%d1%><|><%d1%><|><%d2%><|><%d3%><|><%dddd%><|><%d3%>, <%m3%> <%d%>, ''<%yy%><|><%dddd%>, <%mmmm%> <%d%>, <%yyyy%><||><|' +
'|>4096';
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
LevelCount := 2;
PaneWidth[False] := 0;
MarkTodayColor := BackColor;
UnitScale := EXG2ANTTLib_TLB.exDay;
UnitWidth := 12;
end;
end
|
2212
|
How do I get the height of the bar from the cursor

// MouseMove event - Occurs when the user moves the mouse.
procedure TForm1.G2antt1MouseMove(ASender: TObject; Button : Smallint;Shift : Smallint;X : Integer;Y : Integer);
begin
with G2antt1 do
begin
b := Chart.BarFromPoint[-1,-1];
i := ItemFromPoint[-1,-1,c,hit];
n := Items.ItemBar[i,OleVariant(b),EXG2ANTTLib_TLB.exBarName];
OutputDebugString( 'Height' );
OutputDebugString( Chart.Bars.Item[OleVariant(n)].Height );
end
end;
with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
DefaultItemHeight := 52;
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '10/10/2017';
PaneWidth[False] := 0;
NonworkingDays := 0;
MarkTodayColor := BackColor;
Bars.Item['Task'].Pattern := EXG2ANTTLib_TLB.exPatternSolid;
Bars.Copy('Task','T1').Color := $ff;
Bars.Copy('Task','T2').Height := 25;
end;
with Items do
begin
h1 := AddItem('Task');
AddBar(h1,'T1','10/15/2017','10/25/2017','2',Null);
AddBar(h1,'T2','10/18/2017','10/22/2017','1',Null);
h1 := AddItem('Task');
AddBar(h1,'T1','10/15/2017','10/25/2017','1',Null);
AddBar(h1,'T2','10/18/2017','10/22/2017','2',Null);
end;
EndUpdate();
end
|
2211
|
The zone shows truncated if I use BackColorAlternate. Is there anything I can do so it shows as solid instead

with G2antt1 do
begin
BeginUpdate();
BackColorAlternate := RGB(240,240,240);
with Chart do
begin
PaneWidth[False] := 0;
LevelCount := 2;
FirstVisibleDate := '1/1/2010';
MarkTimeZone('Z1','1/4/2010','1/4/2010',OleVariant(16744544),'1:3;;solid-zone');
MarkTimeZone('Z2','1/8/2010','1/8/2010',OleVariant(16744544),'0:3;;truncated-zone');
end;
EndUpdate();
end
|
2210
|
How can I prevent expanding/collapsing the child items

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
procedure TForm1.G2antt1BeforeExpandItem(ASender: TObject; Item : HITEM;var Cancel : OleVariant);
begin
with G2antt1 do
begin
Cancel := G2antt1.Items.ItemParent[Item];
end
end;
with G2antt1 do
begin
BeginUpdate();
SingleSel := False;
Columns.Add('Default');
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
with Items do
begin
h := AddItem('Root 1');
InsertItem(InsertItem(h,Null,'Child 1.1'),Null,'Child');
InsertItem(h,Null,'Child 1.2');
ExpandItem[h] := True;
h := AddItem('Root 2');
InsertItem(InsertItem(h,Null,'Child 2.1'),Null,'Child');
InsertItem(h,Null,'Child 2.2');
ExpandItem[h] := True;
end;
EndUpdate();
end
|
2209
|
How can I display the EBN bigger or smaller (thumb)

with G2antt1 do
begin
BeginUpdate();
with VisualAppearance do
begin
Add(1,'c:\exontrol\images\normal.ebn');
Add(10,'CP:1 0 3 0 -3');
Add(17,'CP:1 3 0 -3 0');
end;
Background[EXG2ANTTLib_TLB.exHSThumb] := $a000000;
Background[EXG2ANTTLib_TLB.exVSThumb] := $11000000;
ScrollBars := Integer(EXG2ANTTLib_TLB.exVScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exHScrollEmptySpace) Or Integer(EXG2ANTTLib_TLB.exVScrollOnThumbRelease) Or Integer(EXG2ANTTLib_TLB.exHScrollOnThumbRelease) Or Integer(EXG2ANTTLib_TLB.exDisableBoth);
ScrollBySingleLine := True;
Columns.Add('Def');
with Items do
begin
AddItem(OleVariant(1));
AddItem(OleVariant(2));
AddItem(OleVariant(3));
end;
EndUpdate();
end
|
2208
|
I am using GroupBy feature to create a tree, but the top rows are aligned with the children, not indented. What could be wrong

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
procedure TForm1.G2antt1AddGroupItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
color := 14474460;
with Items do
begin
ItemDivider[Item] := -1;
CellValue[OleVariant(Item),OleVariant(1)] := OleVariant(CellCaption[OleVariant(Item),OleVariant(GroupItem[Item])]);
AddBar(Item,'Progress','12/2/2017','12/2/2017',Null,Null);
DefineSummaryBars(Item,'',-3,'');
ItemBold[Item] := True;
ItemBackColor[Item] := color;
end;
Chart.ItemBackColor[Item] := color;
end
end;
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
with Items do
begin
AddBar(Item,'Task','12/4/2017','12/10/2017',Null,Null);
ItemBar[Item,'',EXG2ANTTLib_TLB.exBarMove] := OleVariant(ItemToIndex[Item]);
end;
end
end;
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/2/2017';
PaneWidth[False] := 128;
end;
with Columns do
begin
Add('C1');
Add('C2');
end;
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
SortBarVisible := True;
SortBarCaption := 'Drag a <b>column</b> header here to group by that column.';
AllowGroupBy := True;
with Items do
begin
h := AddItem('Item A');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem A.1';
h := AddItem('Item A');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem A.1';
h := AddItem('Item A');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem A.1';
h := AddItem('Item A');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem A.1';
h := AddItem('Item B');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem B.1';
h := AddItem('Item B');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem B.1';
end;
Columns.Item[OleVariant(0)].SortOrder := EXG2ANTTLib_TLB.SortAscending;
EndUpdate();
end
|
2207
|
How can I change the names from English to my locale (localization)
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
AllowResizeChart := Integer(EXG2ANTTLib_TLB.exAllowChangeUnitScale) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartMiddle) Or Integer(EXG2ANTTLib_TLB.exAllowResizeChartHeader);
MonthNames := LocMonthNames;
WeekDays := LocWeekDays;
AMPM := LocAMPM;
FirstWeekDay := LocFirstWeekDay;
Label[EXG2ANTTLib_TLB.exMonth] := '<|><%loc_m1%><|><%loc_m2%><|><%loc_m3%><|><%loc_mmmm%><|><%loc_m3%> ''<%yy%><|><%loc_mmmm%> <%yyyy%>';
Label[EXG2ANTTLib_TLB.exWeek] := '<|>KW<%ww%><|><%d%>. <%loc_m3%>, ''<%yy%><r>KW<%ww%><|><%d%>. <%loc_mmmm%>, <%yyyy%><r>KW<%ww%><||><||>256';
Label[EXG2ANTTLib_TLB.exDay] := '<|><%loc_d1%><|><%loc_d2%><|><%loc_d3%><|><%loc_dddd%><|><%loc_d3%>, <%d%>. <%loc_m3%>, ''<%yy%><|><%loc_dddd%>, <%d%>. <%loc_mmm' +
'm%>, <%yyyy%><||><||>4096';
Label[EXG2ANTTLib_TLB.exHour] := '<|><%hh%><|><%hh%><|><%loc_d3%>, <%d%>. <%loc_m3%>, ''<%yy%> <%hh%><|><%loc_dddd%>, <%d%>. <%loc_mmmm%>, <%yyyy%> <%hh%><||><||>6' +
'5536';
Label[EXG2ANTTLib_TLB.exMinute] := '<|><%nn%><|><%hh%>:<%nn%><|><%loc_d3%>, <%d%>. <%loc_m3%>, ''<%yy%> <%hh%>:<%nn%><|><%loc_dddd%>, <%d%>. <%loc_mmmm%>, <%yyyy%> <' +
'%hh%>:<%nn%>';
Label[EXG2ANTTLib_TLB.exSecond] := '<|><%ss%><|><%nn%>:<%ss%><|><%hh%>:<%nn%>:<%ss%><|><%loc_d3%>, <%d%>. <%loc_m3%>, ''<%yy%> <%hh%>:<%nn%>:<%ss%><|><%loc_dddd%>, <' +
'%d%>. <%loc_mmmm%>, <%yyyy%> <%hh%>:<%nn%>:<%ss%>';
LabelToolTip[EXG2ANTTLib_TLB.exMonth] := '<%loc_mmmm%>/<%yyyy%>';
LabelToolTip[EXG2ANTTLib_TLB.exWeek] := '<%d%>. <%loc_mmmm%>, <%yyyy%> KW<%ww%>';
LabelToolTip[EXG2ANTTLib_TLB.exDay] := '<%loc_dddd%>, <%d%>. <%loc_mmmm%> , <%yyyy%>';
LabelToolTip[EXG2ANTTLib_TLB.exHour] := '<%loc_dddd%>, <%d%>. <%loc_mmmm%>, <%yyyy%> <%hh%>';
LabelToolTip[EXG2ANTTLib_TLB.exMinute] := '<%loc_dddd%>, <%d%>. <%loc_mmmm%>, <%yyyy%> <%hh%>:<%nn%>';
LabelToolTip[EXG2ANTTLib_TLB.exSecond] := '<%loc_dddd%>, <%d%>. <%loc_mmmm%> <%yyyy%> <%hh%>:<%nn%>:<%ss%>';
ToolTip := '<%ddd%> <%d%>. <%loc_mmmm%> <%yyyy%>';
PaneWidth[False] := 0;
LevelCount := 2;
UnitScale := EXG2ANTTLib_TLB.exDay;
UnitWidth := 24;
end;
EndUpdate();
end
|
2206
|
Is it possible to change the pattern for selection within the control's overview part (I would prefer a semi-transparent or solid color instead)

with G2antt1 do
begin
BeginUpdate();
VisualAppearance.Add(2,'gBFLBCJwBAEHhEJAAEhABMsGACAADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ5DBJUBjTBcEwKGCQBwASQpUhqHYDTbIMByBI' +
'UIxUACUJAgeCRYiAMo8RrSEZARBNGR3GqaJ7oGTpRoaP4iSBTUThBRsPyhHqOBpEWIRSqKEQ1DBYcI2RZUaxBJQAAbrWr5VpKKYnSzBA4TBQkSTpGicZxteoJeiefIEV' +
'THFwRNaFNS1Linb7ia5qCwmOJXUjcYAYfBOIR1SSBbIsawbNACbJnWjENYVdAdNTlAbPNAyPBqSDaMYRDCOND1BhuNATWSNLq2XZ5OzrGIaVjmWbbfwELZFUqydJ0exe' +
'iYNw/kGZBuDCHR/DeEYaCgGhMGcQ4pkiSxDgGXhIESW5MFgbQJBQZx+DScJEGsVZdnufggG+f5fnPFB/ooBZ/EaIAoBYBoBmASAeAqApfjgJgMgOYAoDoEIEl+WBKBSB' +
'QhGgXgQgYYYoDIHIHGCKB+CCAYiCiDgREWYhoG4KIKGGaIuCyCBfhiRQJDqXxgAEASAg');
SelBackMode := EXG2ANTTLib_TLB.exTransparent;
Columns.Add('Tasks');
with Chart do
begin
OverviewVisible := EXG2ANTTLib_TLB.exOverviewShowAll;
OverviewHeight := 64;
FirstVisibleDate := '7/30/2018';
LevelCount := 2;
PaneWidth[False] := 128;
SelBackColor := G2antt1.SelBackColor;
SelBarColor := $808080;
OverviewSelBackColor := $200ff00;
OverviewSelTransparent[True] := 50;
end;
SelBackColor := BackColor;
SelForeColor := ForeColor;
with Items do
begin
AddBar(AddItem('Task 1'),'Task','8/2/2017','8/8/2017',Null,Null);
AddBar(AddItem('Task 2'),'Task','8/3/2018','8/10/2018',Null,Null);
AddBar(AddItem('Task 3'),'Task','8/4/2019','8/12/2019',Null,Null);
SelectItem[ItemByIndex[1]] := True;
end;
EndUpdate();
end
|
2205
|
How can I display an item of picture type

with G2antt1 do
begin
BeginUpdate();
LinesAtRoot := EXG2ANTTLib_TLB.exLinesAtRoot;
ScrollBySingleLine := False;
HeaderAppearance := EXG2ANTTLib_TLB.Etched;
HeaderHeight := 24;
(IUnknown(Columns.Add('Artikel')) as EXG2ANTTLib_TLB.Column).HTMLCaption := '<u>Artikel';
(IUnknown(Columns.Add('Waarde')) as EXG2ANTTLib_TLB.Column).HTMLCaption := '<u>Waarde';
HTMLPicture['T22128'] := 'c:\exontrol\images\zipdisk.gif';
with Items do
begin
h := AddItem('T22128-28)2D');
h1 := InsertItem(h,Null,'<img>T22128:128</img>');
CellValueFormat[OleVariant(h1),OleVariant(0)] := EXG2ANTTLib_TLB.exHTML;
ItemHeight[h1] := 128;
h1 := InsertItem(h,Null,'werkvoorbereiding');
CellValue[OleVariant(h1),OleVariant(1)] := '5.80';
CellBold[OleVariant(h1),OleVariant(1)] := True;
CellValue[OleVariant(InsertItem(h1,Null,'Type')),OleVariant(1)] := 'Eenvoudig';
CellValue[OleVariant(InsertItem(h1,Null,'Prijs p/uur')),OleVariant(1)] := '60,00';
CellValue[OleVariant(InsertItem(h1,Null,'Marhe')),OleVariant(1)] := '15,00%';
CellValue[OleVariant(InsertItem(h1,Null,'Insteltijd min.')),OleVariant(1)] := '5,00';
CellValue[OleVariant(InsertItem(h1,Null,'Aantal')),OleVariant(1)] := OleVariant(1);
CellValue[OleVariant(InsertItem(h1,Null,'Kostprije')),OleVariant(1)] := '5,00';
ExpandItem[h1] := True;
h1 := InsertItem(h,Null,'materiall');
CellValue[OleVariant(h1),OleVariant(1)] := '14.82';
CellBold[OleVariant(h1),OleVariant(1)] := True;
ItemHasChildren[h1] := True;
h1 := InsertItem(h,Null,'snijden');
CellValue[OleVariant(h1),OleVariant(1)] := '3.13';
CellBold[OleVariant(h1),OleVariant(1)] := True;
ItemHasChildren[h1] := True;
ExpandItem[h] := True;
end;
EndUpdate();
end
|
2204
|
How can I bold the root group-items

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
procedure TForm1.G2antt1AddGroupItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
with Items do
begin
AddBar(Item,'Progress','12/2/2017','12/2/2017',Null,Null);
DefineSummaryBars(Item,'',-3,'');
ItemBold[Item] := True;
end;
end
end;
// AddItem event - Occurs after a new Item has been inserted to Items collection.
procedure TForm1.G2antt1AddItem(ASender: TObject; Item : HITEM);
begin
with G2antt1 do
begin
Items.AddBar(Item,'Task','12/4/2017','12/10/2017',Null,Null);
end
end;
with G2antt1 do
begin
BeginUpdate();
with Chart do
begin
LevelCount := 2;
FirstVisibleDate := '12/2/2017';
PaneWidth[False] := 342;
end;
with Columns do
begin
with (IUnknown(Add('C1')) as EXG2ANTTLib_TLB.Column) do
begin
GroupByFormatCell := '''<caption> ('' + value + '')''';
end;
Add('C2');
Add('C3');
with (IUnknown(Add('Pos')) as EXG2ANTTLib_TLB.Column) do
begin
FormatColumn := '1 pos ``';
AllowGroupBy := False;
Position := 0;
Width := 48;
AllowSizing := False;
end;
end;
SortBarVisible := True;
SortBarCaption := 'Drag a <b>column</b> header here to group by that column.';
AllowGroupBy := True;
with Items do
begin
h := AddItem('Item A');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem A.1';
CellValue[OleVariant(h),OleVariant(2)] := 'SubItem A.2';
h := AddItem('Item A');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem A.1';
CellValue[OleVariant(h),OleVariant(2)] := 'SubItem A.2';
h := AddItem('Item A');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem A.1';
CellValue[OleVariant(h),OleVariant(2)] := 'SubItem A.2';
h := AddItem('Item A');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem A.1';
CellValue[OleVariant(h),OleVariant(2)] := 'SubItem A.2';
h := AddItem('Item B');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem B.1';
CellValue[OleVariant(h),OleVariant(2)] := 'SubItem B.2';
h := AddItem('Item B');
CellValue[OleVariant(h),OleVariant(1)] := 'SubItem B.1';
CellValue[OleVariant(h),OleVariant(2)] := 'SubItem B.2';
end;
Columns.Item[OleVariant(0)].SortOrder := EXG2ANTTLib_TLB.SortAscending;
EndUpdate();
end
|
2203
|
The exBarTransparent does not work for overlaid-bars

with G2antt1 do
begin
BeginUpdate();
BackColorAlternate := RGB(240,240,240);
Columns.Add('Task');
with Chart do
begin
AllowCreateBar := EXG2ANTTLib_TLB.exCreateBarAuto;
AllowLinkBars := False;
PaneWidth[False] := 48;
FirstVisibleDate := '1/1/2001';
LevelCount := 2;
with Bars.Item['Task'] do
begin
OverlaidType := Integer(EXG2ANTTLib_TLB.exOverlaidBarsStackAutoArrange) Or Integer(EXG2ANTTLib_TLB.exOverlaidBarsStack);
Pattern := EXG2ANTTLib_TLB.exPatternSolid;
Overlaid[EXG2ANTTLib_TLB.exOverlaidBarsTransparent] := OleVariant(0);
Def[EXG2ANTTLib_TLB.exBarCaption] := '<%=%9%>';
Def[EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
end;
end;
with Items do
begin
h := AddItem('Task 1');
AddBar(h,'Task','1/2/2001','1/4/2001','A1',Null);
AddBar(h,'Task','1/3/2001','1/5/2001','A2',Null);
h := AddItem('Task 2');
AddBar(h,'Task','1/7/2001','1/11/2001','B1',Null);
AddBar(h,'Task','1/8/2001','1/12/2001','B2',Null);
ItemBar[0,'<*>',EXG2ANTTLib_TLB.exBarTransparent] := OleVariant(75);
end;
EndUpdate();
end
|
2202
|
We’re adding tasks on the chart which have a caption that is not clipped (and left aligned). When we add another task right after the first one, then the caption from that first bar is “stuck” behind the second bar. The bar's z-order is determined by the bar's key.

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Tasks');
DefaultItemHeight := 24;
with Chart do
begin
NonworkingDays := 0;
FirstVisibleDate := '9/17/2006';
PaneWidth[False] := 96;
LevelCount := 2;
with Bars.Add('Green') do
begin
Color := $ff00;
Def[EXG2ANTTLib_TLB.exBarOffset] := OleVariant(-2);
Def[EXG2ANTTLib_TLB.exBarCaption] := '<%=%9%>';
Def[EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
end;
with Bars.Add('Red') do
begin
Color := $ff;
Def[EXG2ANTTLib_TLB.exBarOffset] := OleVariant(2);
Def[EXG2ANTTLib_TLB.exBarCaption] := '<%=%9%>';
Def[EXG2ANTTLib_TLB.exBarHAlignCaption] := OleVariant(18);
end;
end;
with Items do
begin
h1 := AddItem('Red / Green');
AddBar(h1,'Green','9/21/2006','9/27/2006','K1',Null);
AddBar(h1,'Red','9/23/2006','9/25/2006','K2',Null);
h1 := AddItem('Green / Red');
AddBar(h1,'Green','9/21/2006','9/27/2006','K2',Null);
AddBar(h1,'Red','9/23/2006','9/25/2006','K1',Null);
end;
EndUpdate();
end
|
2201
|
The caption/text of the link is overwritten by its line. What can be done

with G2antt1 do
begin
BeginUpdate();
Columns.Add('Task');
with Chart do
begin
PaneWidth[False] := 64;
FirstVisibleDate := '6/21/2005';
ResizeUnitScale := EXG2ANTTLib_TLB.exHour;
UnitWidth := 48;
Level[0].Label := '<b><%mmm%></b> <%dd%>';
LinksWidth := 3;
end;
with Items do
begin
h := AddItem('Root');
AddBar(h,'Task','6/22/2005','6/23/2005',Null,Null);
h1 := InsertItem(h,Null,'Child');
AddBar(h1,'Task','6/24/2005 8:00:00 AM','6/24/2005 4:00:00 PM',Null,Null);
AddLink('Link1',h,'',h1,'');
Link['Link1',EXG2ANTTLib_TLB.exLinkText] := '<bgcolor=FFFFFF> link </bgcolor>';
ExpandItem[h] := True;
end;
EndUpdate();
end
|